Compare commits

...

10 Commits

Author SHA1 Message Date
openeuler-ci-bot
7aca10d504
!24 [sync] PR-18: Fix CVE-2023-28370
From: @openeuler-sync-bot 
Reviewed-by: @lyn1001 
Signed-off-by: @lyn1001
2023-06-16 06:03:42 +00:00
starlet-dx
dfeb6f0a14 Fix CVE-2023-28370
(cherry picked from commit 3aa701180fb44fba66ac80b1137b798faa4032f9)
2023-06-16 11:07:16 +08:00
openeuler-ci-bot
4b9514f727 !8 upgrade version to 6.1 for python-tornado
From: @yaozc701
Reviewed-by: 
Signed-off-by:
2021-07-29 11:59:21 +00:00
yaozc701
412e0d36ba upgrade version to 6.1 2021-07-27 20:40:04 +08:00
openeuler-ci-bot
bc34c76d82 !6 Completing build dependencies
From: @hht8
Reviewed-by: @small_leek
Signed-off-by: @small_leek
2021-06-01 16:14:55 +08:00
hht8
8b5234bab6 Completing build dependencies 2021-06-01 14:50:58 +08:00
openeuler-ci-bot
ccdb54733d !4 Remove python2-tornado subpackage
From: @jpzhang187
Reviewed-by: @small_leek
Signed-off-by: @small_leek
2020-09-11 21:15:13 +08:00
jpzhang
eac909d896 Remove python2-tornado subpackage 2020-09-11 19:46:03 +08:00
openeuler-ci-bot
0078d500f3 !1 python-tornado
Merge pull request !1 from wangef/master
2020-05-09 16:16:33 +08:00
wwx913452
e0f2c39061 added python-tornado.yaml 2020-05-07 19:22:24 +08:00
5 changed files with 103 additions and 57 deletions

35
CVE-2023-28370.patch Normal file
View File

@ -0,0 +1,35 @@
From 32ad07c54e607839273b4e1819c347f5c8976b2f Mon Sep 17 00:00:00 2001
From: Ben Darnell <ben@bendarnell.com>
Date: Sat, 13 May 2023 20:58:52 -0400
Subject: [PATCH] web: Fix an open redirect in StaticFileHandler
Under some configurations the default_filename redirect could be exploited
to redirect to an attacker-controlled site. This change refuses to redirect
to URLs that could be misinterpreted.
A test case for the specific vulnerable configuration will follow after the
patch has been available.
---
tornado/web.py | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/tornado/web.py b/tornado/web.py
index 3b676e3c2..565140493 100644
--- a/tornado/web.py
+++ b/tornado/web.py
@@ -2879,6 +2879,15 @@ def validate_absolute_path(self, root: str, absolute_path: str) -> Optional[str]
# but there is some prefix to the path that was already
# trimmed by the routing
if not self.request.path.endswith("/"):
+ if self.request.path.startswith("//"):
+ # A redirect with two initial slashes is a "protocol-relative" URL.
+ # This means the next path segment is treated as a hostname instead
+ # of a part of the path, making this effectively an open redirect.
+ # Reject paths starting with two slashes to prevent this.
+ # This is only reachable under certain configurations.
+ raise HTTPError(
+ 403, "cannot redirect path with two initial slashes"
+ )
self.redirect(self.request.path + "/", permanent=True)
return None
absolute_path = os.path.join(absolute_path, self.default_filename)

View File

@ -1,13 +0,0 @@
diff --git a/tornado/test/runtests.py b/tornado/test/runtests.py
index d5bd769..e4f938d 100644
--- a/tornado/test/runtests.py
+++ b/tornado/test/runtests.py
@@ -137,6 +137,8 @@ def main():
# 2.7 and 3.2
warnings.filterwarnings("ignore", category=DeprecationWarning,
message="Please use assert.* instead")
+ warnings.filterwarnings("ignore", category=PendingDeprecationWarning,
+ message="Please use assert.* instead")
# Twisted 15.0.0 triggers some warnings on py3 with -bb.
warnings.filterwarnings("ignore", category=BytesWarning,
module=r"twisted\..*")

View File

@ -1,65 +1,89 @@
Name: python-tornado
Version: 5.0.2
Release: 5
Summary: a Python web framework and asynchronous networking library
License: ASL 2.0
URL: http://www.tornadoweb.org
Source0: https://files.pythonhosted.org/packages/source/t/tornado/tornado-%{version}.tar.gz
Patch0: fix-erroneous-deprecation-warnings.patch
BuildRequires: gcc python2-devel python2-singledispatch python3-devel
%global _empty_manifest_terminate_build 0
Name: python-tornado
Version: 6.1
Release: 2
Summary: Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed.
License: ASL 2.0
URL: http://www.tornadoweb.org/
Source0: https://files.pythonhosted.org/packages/cf/44/cc9590db23758ee7906d40cacff06c02a21c2a6166602e095a56cbf2f6f6/tornado-6.1.tar.gz
Patch0: CVE-2023-28370.patch
%description
Tornado is a Python web framework and asynchronous networking library, originally
developed at FriendFeed. By using non-blocking network I/O, Tornado can scale to
tens of thousands of open connections, making it ideal for long polling, WebSockets,
and other applications that require a long-lived connection to each user.
%package -n python2-tornado
Summary: a Python web framework and asynchronous networking library
Requires: python2-pycurl python2-backports_abc python2-singledispatch python2-futures
%description -n python2-tornado
Tornado is a Python web framework and asynchronous networking library, originally
developed at FriendFeed. By using non-blocking network I/O, Tornado can scale to
tens of thousands of open connections, making it ideal for long polling, WebSockets,
and other applications that require a long-lived connection to each user.
Tornado is an open source version of the scalable, non-blocking web server and tools.
%package -n python3-tornado
Summary: a Python web framework and asynchronous networking library
Requires: python3-pycurl
Summary: Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed.
Provides: python-tornado
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: python3-cffi
BuildRequires: python3-pycurl
BuildRequires: gcc
BuildRequires: gdb
%description -n python3-tornado
Tornado is a Python web framework and asynchronous networking library, originally
developed at FriendFeed. By using non-blocking network I/O, Tornado can scale to
tens of thousands of open connections, making it ideal for long polling, WebSockets,
and other applications that require a long-lived connection to each user.
Tornado is an open source version of the scalable, non-blocking web server and tools.
%package help
Summary: Development documents and examples for tornado
Provides: python3-tornado-doc
%description help
Tornado is an open source version of the scalable, non-blocking web server and tools.
%prep
%autosetup -n tornado-%{version} -p1
%{__sed} -i.orig -e '/^#!\//, 1d' *py tornado/*.py tornado/*/*.py
%build
%py2_build
%py3_build
%install
%py2_install
%py3_install
install -d -m755 %{buildroot}/%{_pkgdocdir}
if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
pushd %{buildroot}
if [ -d usr/lib ]; then
find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/lib64 ]; then
find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/bin ]; then
find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/sbin ]; then
find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
fi
touch doclist.lst
if [ -d usr/share/man ]; then
find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
fi
popd
mv %{buildroot}/filelist.lst .
mv %{buildroot}/doclist.lst .
%files -n python2-tornado
%defattr(-,root,root)
%license LICENSE
%doc README.rst
%{python2_sitearch}/*
%files -n python3-tornado
%defattr(-,root,root)
%license LICENSE
%doc README.rst
%{python3_sitearch}/*
%files -n python3-tornado -f filelist.lst
%dir %{python3_sitearch}/*
%files help -f doclist.lst
%{_docdir}/*
%changelog
* Fri Jun 16 2023 yaoxin <yao_xin001@hoperun.com> - 6.1-2
- Fix CVE-2023-28370
* Thu Jul 08 2021 yaozc701 <yaozc7@foxmail.com> - 6.1-1
- Upgrade version to 6.1
* Mon May 31 2021 huanghaitao <huanghaitao8@huawei.com> - 5.0.2-7
- Completing build dependencies
* Fri Sep 11 2020 zhangjiapeng <zhangjiapeng9@huawei.com> - 5.0.2-6
- Remove python2-tornado subpackage
* Tue Dec 10 2019 openEuler Buildteam <buildteam@openeuler.org> - 5.0.2-5
- Package init

Binary file not shown.

BIN
tornado-6.1.tar.gz Normal file

Binary file not shown.