Bug 33395 - python-zipp new security issue CVE-2024-5569
Summary: python-zipp new security issue CVE-2024-5569
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: Security (show other bugs)
Version: 9
Hardware: All Linux
Priority: Normal normal
Target Milestone: ---
Assignee: QA Team
QA Contact: Sec team
URL:
Whiteboard: MGA9-64-OK
Keywords: advisory, validated_update
Depends on:
Blocks:
 
Reported: 2024-07-12 15:23 CEST by Nicolas Salguero
Modified: 2025-02-14 23:56 CET (History)
3 users (show)

See Also:
Source RPM: python-zipp-3.8.1-3.mga9.src.rpm
CVE: CVE-2024-5569
Status comment:


Attachments

Description Nicolas Salguero 2024-07-12 15:23:32 CEST
SUSE has issued an advisory on July 11:
https://lists.suse.com/pipermail/sle-updates/2024-July/035932.html

The problem is fixed in versions 3.19.1 and above.
The fix is: https://github.com/jaraco/zipp/commit/fd604bd34f0343472521a36da1fbd22e793e14fd

Mageia 9 is also affected.
Nicolas Salguero 2024-07-12 15:24:58 CEST

Source RPM: (none) => python-zipp-3.8.1-4.mga10.src.rpm, python-zipp-3.8.1-3.mga9.src.rpm
Whiteboard: (none) => MGA9TOO
Status comment: (none) => Fixed upstream in 3.19.1 and patch available from upstream and openSUSE
CVE: (none) => CVE-2024-5569

Comment 1 Lewis Smith 2024-07-12 20:46:48 CEST
Assigning to Python maintainers.

Assignee: bugsquad => python

Comment 2 Nicolas Salguero 2025-02-10 11:57:05 CET
That issue was fixed in Cauldron.

Source RPM: python-zipp-3.8.1-4.mga10.src.rpm, python-zipp-3.8.1-3.mga9.src.rpm => python-zipp-3.8.1-3.mga9.src.rpm
Whiteboard: MGA9TOO => (none)
Version: Cauldron => 9

Comment 3 Nicolas Salguero 2025-02-13 14:41:30 CET
Suggested advisory:
========================

The updated package fixes a security vulnerability:

Denial of Service via crafted zip file in jaraco/zipp. (CVE-2024-5569)

References:
https://lists.suse.com/pipermail/sle-updates/2024-July/035932.html
========================

Updated package in core/updates_testing:
========================
python3-zipp-3.8.1-3.1.mga9

from SRPM:
python-zipp-3.8.1-3.1.mga9.src.rpm

Status: NEW => ASSIGNED
Status comment: Fixed upstream in 3.19.1 and patch available from upstream and openSUSE => (none)

Nicolas Salguero 2025-02-13 15:21:06 CET

Assignee: python => qa-bugs

Comment 4 Thomas Andrews 2025-02-13 22:25:13 CET
Ran into a snag on this one. Looking for a test:

$ urpmq --whatrequires-recursive python3-zipp
python3-autobahn+dev
python3-cliff
python3-importlib-metadata
python3-jupyter-cache
python3-myst-nb
python3-osc-lib
python3-pytest-checkdocs
python3-rebookmaker
python3-stestr
python3-tempest
python3-twine
python3-zipp
wapiti

So, I thought I'd look into wapiti, seeking guidance from the Web. I learned that basically it is a tool for scanning web sites/pages to look for vulnerabilities. It's used by ethical hackers to make web sites more secure. There are a number of tutorial sites and videos available.

So, I installed wapiti in a MGA9 VirtualBox guest, and tried to run the most basic command, and got this:

$ wapiti -h
Traceback (most recent call last):
  File "/usr/bin/wapiti", line 33, in <module>
    sys.exit(load_entry_point('wapiti3==3.0.5', 'console_scripts', 'wapiti')())
  File "/usr/bin/wapiti", line 25, in importlib_load_entry_point
    return next(matches).load()
  File "/usr/lib64/python3.10/importlib/metadata/__init__.py", line 171, in load
    module = import_module(match.group('module'))
  File "/usr/lib64/python3.10/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/usr/lib/python3.10/site-packages/wapitiCore/main/wapiti.py", line 39, in <module>
    import browser_cookie3
  File "/usr/lib/python3.10/site-packages/browser_cookie3/__init__.py", line 10, in <module>
    import lz4.block
ModuleNotFoundError: No module named 'lz4'

That is NOT the output I was supposed to get. I installed the update, with no issues, and tried again, with similar results.

Either our wapiti is horribly broken, or I'm doing something horribly wrong. With less than zero experience in this area, I have no idea which is true. 

Since the update didn't make any real difference, I suppose I could OK it on a clean install, unless someone knows of another way to test it.

CC: (none) => andrewsfarm

katnatek 2025-02-13 23:49:21 CET

Keywords: (none) => advisory

Comment 5 Dan Fandrich 2025-02-14 09:32:08 CET
lz4 is provided by the python3-lz4 package, although it's not a dependency (Requires: or Suggests:) of the python3-browser-cookie3 package, which it looks like it should be. Someone should figure out why it's not being added automatically.

CC: (none) => dan

Comment 6 Thomas Andrews 2025-02-14 15:37:03 CET
So, do we fix wapiti here, or do it with another bug? While you are considering the matter, I wouldn't be at all surprised if Cauldron's wapiti has the same issue.

I could try installing python3-lz4 to see what happens...

I think I'll save a snapshot of my mga9 guest and then give it a try.
Comment 7 Thomas Andrews 2025-02-14 15:58:23 CET
And that brings up a new one:

$ wapiti -h
Traceback (most recent call last):
  File "/usr/bin/wapiti", line 33, in <module>
    sys.exit(load_entry_point('wapiti3==3.0.5', 'console_scripts', 'wapiti')())
  File "/usr/bin/wapiti", line 25, in importlib_load_entry_point
    return next(matches).load()
  File "/usr/lib64/python3.10/importlib/metadata/__init__.py", line 171, in load
    module = import_module(match.group('module'))
  File "/usr/lib64/python3.10/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/usr/lib/python3.10/site-packages/wapitiCore/main/wapiti.py", line 39, in <module>
    import browser_cookie3
  File "/usr/lib/python3.10/site-packages/browser_cookie3/__init__.py", line 14, in <module>
    from Crypto.Cipher import AES
ModuleNotFoundError: No module named 'Crypto'
Comment 8 katnatek 2025-02-14 18:27:16 CET
(In reply to Thomas Andrews from comment #7)
> And that brings up a new one:
> 
> $ wapiti -h
> Traceback (most recent call last):
>   File "/usr/bin/wapiti", line 33, in <module>
>     sys.exit(load_entry_point('wapiti3==3.0.5', 'console_scripts',
> 'wapiti')())
>   File "/usr/bin/wapiti", line 25, in importlib_load_entry_point
>     return next(matches).load()
>   File "/usr/lib64/python3.10/importlib/metadata/__init__.py", line 171, in
> load
>     module = import_module(match.group('module'))
>   File "/usr/lib64/python3.10/importlib/__init__.py", line 126, in
> import_module
>     return _bootstrap._gcd_import(name[level:], package, level)
>   File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
>   File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
>   File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
>   File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
>   File "<frozen importlib._bootstrap_external>", line 883, in exec_module
>   File "<frozen importlib._bootstrap>", line 241, in
> _call_with_frames_removed
>   File "/usr/lib/python3.10/site-packages/wapitiCore/main/wapiti.py", line
> 39, in <module>
>     import browser_cookie3
>   File "/usr/lib/python3.10/site-packages/browser_cookie3/__init__.py", line
> 14, in <module>
>     from Crypto.Cipher import AES
> ModuleNotFoundError: No module named 'Crypto'

Can you test installing packages from bug#32584, and please open a bug for wapiti
Comment 9 Thomas Andrews 2025-02-14 19:09:38 CET
(In reply to katnatek from comment #8)

> 
> Can you test installing packages from bug#32584, and please open a bug for
> wapiti

The Princeton mirror has to catch up first. Qarepo says it's missing one of the packages from that bug.

However, python3-cryptography is already installed in that guest, so my guess is that update won't make a difference. Looking at a drakrpm search, I see references to "crypto" and "Crypto" as if they are two different things.
Comment 10 Thomas Andrews 2025-02-14 21:29:25 CET
The updates from bug 32584 made no difference, as expected.

Bug 34021 now open for wapiti in Mageia 9. Cauldron probably is also affected, but I can't confirm it.

With no other way that I can see to test python3-zipp, I'm OKing this on a clean install.

Validating.

CC: (none) => sysadmin-bugs
Keywords: (none) => validated_update
Whiteboard: (none) => MGA9-64-OK

Comment 11 Mageia Robot 2025-02-14 23:56:03 CET
An update for this issue has been pushed to the Mageia Updates repository.

https://advisories.mageia.org/MGASA-2025-0066.html

Status: ASSIGNED => RESOLVED
Resolution: (none) => FIXED


Note You need to log in before you can comment on or make changes to this bug.