CVE-2024-8088

NameCVE-2024-8088
DescriptionThere is a HIGH severity vulnerability affecting the CPython "zipfile" module affecting "zipfile.Path". Note that the more common API "zipfile.ZipFile" class is unaffected. When iterating over names of entries in a zip archive (for example, methods of "zipfile.Path" like "namelist()", "iterdir()", etc) the process can be put into an infinite loop with a maliciously crafted zip archive. This defect applies when reading only metadata or extracting the contents of the zip archive. Programs that are not handling user-controlled zip archives are not affected.
SourceCVE (at NVD; CERT, LWN, oss-sec, fulldisc, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more)
ReferencesDLA-3980-1, DSA-5759-1

Vulnerable and fixed packages

The table below lists information on source packages.

Source PackageReleaseVersionStatus
pypy (PTS)jessie2.4.0+dfsg-3fixed
stretch5.6.0+dfsg-4fixed
buster7.0.0+dfsg-3fixed
bullseye7.3.3+dfsg-2fixed
python2.7 (PTS)jessie, jessie (lts)2.7.9-2-ds1-1+deb8u12fixed
stretch (security)2.7.13-2+deb9u6fixed
stretch (lts), stretch2.7.13-2+deb9u9fixed
buster (security), buster, buster (lts)2.7.16-2+deb10u4fixed
bullseye2.7.18-8+deb11u1fixed
python3.11 (PTS)bookworm3.11.2-6+deb12u4fixed
bookworm (security)3.11.2-6+deb12u3fixed
python3.12 (PTS)sid, trixie3.12.8-3fixed
python3.13 (PTS)sid, trixie3.13.1-2fixed
python3.4 (PTS)jessie, jessie (lts)3.4.2-1+deb8u19fixed
python3.5 (PTS)stretch (security)3.5.3-1+deb9u5fixed
stretch (lts), stretch3.5.3-1+deb9u11fixed
python3.7 (PTS)buster, buster (lts)3.7.3-2+deb10u9fixed
buster (security)3.7.3-2+deb10u7fixed
python3.9 (PTS)bullseye3.9.2-1vulnerable
bullseye (security)3.9.2-1+deb11u2fixed

The information below is based on the following data on fixed versions.

PackageTypeReleaseFixed VersionUrgencyOriginDebian Bugs
pypysource(unstable)(not affected)
python2.7source(unstable)(not affected)
python3.11sourcebookworm3.11.2-6+deb12u3DSA-5759-1
python3.11source(unstable)(unfixed)
python3.12source(unstable)3.12.6-1
python3.13source(unstable)3.13.0~rc2-1
python3.4source(unstable)(not affected)
python3.5source(unstable)(not affected)
python3.7source(unstable)(not affected)
python3.9sourcebullseye3.9.2-1+deb11u2DLA-3980-1
python3.9source(unstable)(unfixed)

Notes

- python2.7 <not-affected> (zipfile.Path introduced in v3.8)
https://mail.python.org/archives/list/security-announce@python.org/thread/GNFCKVI4TCATKQLALJ5SN4L4CSPSMILU/
https://github.com/python/cpython/pull/122906
https://github.com/python/cpython/issues/122905
https://github.com/python/cpython/commit/8c7348939d8a3ecd79d630075f6be1b0c5b41f64 (v3.13.0rc2)
https://github.com/python/cpython/commit/dcc5182f27c1500006a1ef78e10613bb45788dea (v3.12.6)
https://github.com/python/cpython/commit/795f2597a4be988e2bb19b69ff9958e981cb894e (v3.11.10)
https://github.com/python/cpython/commit/e0264a61119d551658d9445af38323ba94fc16db (v3.10.15)
Regression (cf. #1080245): https://github.com/python/cpython/issues/123270
Regression fixed by: https://github.com/python/cpython/commit/fc0b8259e693caa8400fa8b6ac1e494e47ea7798 (v3.11.10)
Regression fixed by: https://github.com/python/cpython/commit/962055268ed4f2ca1d717bfc8b6385de50a23ab7 (v3.9.20)
- pypy <not-affected> (zipfile.Path introduced in v3.8)
- python3.4 <not-affected> (zipfile.Path introduced in v3.8)
- python3.5 <not-affected> (zipfile.Path introduced in v3.8)
- python3.7 <not-affected> (zipfile.Path introduced in v3.8)

Search for package or bug name: Reporting problems