From fdc0854ebae5e349beedd86c0d92dab103149b7f Mon Sep 17 00:00:00 2001 From: cherry530 <707078654@qq.com> Date: Tue, 15 Oct 2024 11:08:44 +0800 Subject: [PATCH] Upgrade version to 3.20.2 Signed-off-by: cherry530 <707078654@qq.com> --- backport-CVE-2024-5569.patch | 110 ----------------------------------- python-zipp.spec | 15 ++--- zipp-3.18.1.tar.gz | Bin 21220 -> 0 bytes zipp-3.20.2.tar.gz | Bin 0 -> 24199 bytes 4 files changed, 6 insertions(+), 119 deletions(-) delete mode 100644 backport-CVE-2024-5569.patch delete mode 100644 zipp-3.18.1.tar.gz create mode 100644 zipp-3.20.2.tar.gz diff --git a/backport-CVE-2024-5569.patch b/backport-CVE-2024-5569.patch deleted file mode 100644 index e2fc422..0000000 --- a/backport-CVE-2024-5569.patch +++ /dev/null @@ -1,110 +0,0 @@ -From fd604bd34f0343472521a36da1fbd22e793e14fd Mon Sep 17 00:00:00 2001 -From: "Jason R. Coombs" -Date: Fri, 31 May 2024 12:31:40 -0400 -Subject: [PATCH] Merge pull request #120 from jaraco/bugfix/119-malformed-paths - - Sanitize malformed paths - ---- - tests/test_path.py | 18 +++++++++++ - zipp/__init__.py | 58 +++++++++++++++++++++++++++++++++++- - 2 files changed, 75 insertions(+), 1 deletion(-) - -diff --git a/tests/test_path.py b/tests/test_path.py -index 03fd2aa..53664d4 100644 ---- a/tests/test_path.py -+++ b/tests/test_path.py -@@ -574,3 +574,21 @@ class TestPath(unittest.TestCase): - zipp.Path(alpharep) - with self.assertRaises(KeyError): - alpharep.getinfo('does-not-exist') -+ -+ @__import__('pytest').mark.skip(reason="infinite loop") -+ def test_malformed_paths(self): -+ """ -+ Path should handle malformed paths. -+ """ -+ data = io.BytesIO() -+ zf = zipfile.ZipFile(data, "w") -+ zf.writestr("/one-slash.txt", b"content") -+ zf.writestr("//two-slash.txt", b"content") -+ zf.writestr("../parent.txt", b"content") -+ zf.filename = '' -+ root = zipfile.Path(zf) -+ assert list(map(str, root.iterdir())) == [ -+ 'one-slash.txt', -+ 'two-slash.txt', -+ 'parent.txt', -+ ] -diff --git a/zipp/__init__.py b/zipp/__init__.py -index 6d05d9a..f78c272 100644 ---- a/zipp/__init__.py -+++ b/zipp/__init__.py -@@ -85,7 +85,63 @@ class InitializedState: - super().__init__(*args, **kwargs) - - --class CompleteDirs(InitializedState, zipfile.ZipFile): -+class SanitizedNames: -+ """ -+ ZipFile mix-in to ensure names are sanitized. -+ """ -+ -+ def namelist(self): -+ return list(map(self._sanitize, super().namelist())) -+ -+ @staticmethod -+ def _sanitize(name): -+ r""" -+ Ensure a relative path with posix separators and no dot names. -+ Modeled after -+ https://github.com/python/cpython/blob/bcc1be39cb1d04ad9fc0bd1b9193d3972835a57c/Lib/zipfile/__init__.py#L1799-L1813 -+ but provides consistent cross-platform behavior. -+ >>> san = SanitizedNames._sanitize -+ >>> san('/foo/bar') -+ 'foo/bar' -+ >>> san('//foo.txt') -+ 'foo.txt' -+ >>> san('foo/.././bar.txt') -+ 'foo/bar.txt' -+ >>> san('foo../.bar.txt') -+ 'foo../.bar.txt' -+ >>> san('\\foo\\bar.txt') -+ 'foo/bar.txt' -+ >>> san('D:\\foo.txt') -+ 'D/foo.txt' -+ >>> san('\\\\server\\share\\file.txt') -+ 'server/share/file.txt' -+ >>> san('\\\\?\\GLOBALROOT\\Volume3') -+ '?/GLOBALROOT/Volume3' -+ >>> san('\\\\.\\PhysicalDrive1\\root') -+ 'PhysicalDrive1/root' -+ >>> san('abc/') -+ 'abc/' -+ >>> san('../..') -+ Traceback (most recent call last): -+ ... -+ ValueError: Empty filename -+ """ -+ -+ def allowed(part): -+ return part and part not in {'..', '.'} -+ -+ # Remove the drive letter. -+ # Don't use ntpath.splitdrive, because that also strips UNC paths -+ bare = re.sub('^([A-Z]):', r'\1', name, flags=re.IGNORECASE) -+ clean = bare.replace('\\', '/') -+ parts = clean.split('/') -+ joined = '/'.join(filter(allowed, parts)) -+ if not joined: -+ raise ValueError("Empty filename") -+ return joined + '/' * name.endswith('/') -+ -+ -+class CompleteDirs(InitializedState, SanitizedNames, zipfile.ZipFile): - """ - A ZipFile subclass that ensures that implied directories - are always included in the namelist. --- -2.43.0 - diff --git a/python-zipp.spec b/python-zipp.spec index 0241bfb..2663d0e 100644 --- a/python-zipp.spec +++ b/python-zipp.spec @@ -1,12 +1,11 @@ %global _empty_manifest_terminate_build 0 Name: python-zipp -Version: 3.18.1 -Release: 2 +Version: 3.20.2 +Release: 1 Summary: Backport of pathlib-compatible object wrapper for zip files License: MIT URL: https://github.com/jaraco/zipp Source0: https://pypi.io/packages/source/z/zipp/zipp-%{version}.tar.gz -Patch3000: backport-CVE-2024-5569.patch BuildArch: noarch %description @@ -37,14 +36,12 @@ A pathlib-compatible Zipfile object wrapper. A backport of the Path object. %prep %autosetup -n zipp-%{version} -p1 -# Skip tests that depend on jaraco.itertools -sed -i "/import jaraco.itertools/d" tests/test_path.py %build %pyproject_build %install -%pyproject_install zipp==%{version} +%pyproject_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 @@ -54,9 +51,6 @@ if [ -f README.rst ]; then cp -af README.rst %{buildroot}/%{_pkgdocdir}; fi if [ -f README.md ]; then cp -af README.md %{buildroot}/%{_pkgdocdir}; fi if [ -f README.txt ]; then cp -af README.txt %{buildroot}/%{_pkgdocdir}; fi -%check -pytest -k "not test_joinpath_constant_time" - %files -n python3-zipp %defattr(-,root,root) %{python3_sitelib}/* @@ -66,6 +60,9 @@ pytest -k "not test_joinpath_constant_time" %{_docdir}/* %changelog +* Tue Oct 15 2024 xu_ping <707078654@qq.com> - 3.20.2-1 +- Upgrade version to 3.20.2 + * Tue Jul 09 2024 zhangxianting - 3.18.1-2 - Fix CVE-2024-5569 diff --git a/zipp-3.18.1.tar.gz b/zipp-3.18.1.tar.gz deleted file mode 100644 index 2b6bbc231fb0407affce0b9785d2715be4680854..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21220 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 W{y%4>1HVta{&%j{hQ#a|$-e-naxISl diff --git a/zipp-3.20.2.tar.gz b/zipp-3.20.2.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..8f6ac52b8b262e1bea0d44c16ce2c09b9b4084d3 GIT binary patch literal 24199 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