High severity · published Apr 27, 2026
CVE-2026-3087
shutil.unpack_archive() doesn't check for Windows absolute paths in ZIPs
7.5
CVSS
0.6%
EPSS
No
On KEV
Description
If `shutil.unpack_archive()` is given a ZIP archive with an absolute Windows path containing a drive (`C:\\...`) then the archive will be extracted outside the target directory which is different than other operating systems. Only Windows is affected by this vulnerability.
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
Attack vector
Network
Complexity
Low
Privileges
None
User interaction
None
Confidentiality
None
Integrity
High
Availability
None
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)0.6% · higher than 46% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
CP
CPython · Python Software Foundation
before 3.10.21; 3.11.0 before 3.11.16; 3.12.0 before 3.12.14; 3.13.0 before 3.13.14; 3.14.0a1 before 3.14.5rc1; 3.15.0a1 before 3.15.0b1 · source: vendor
PY
Python · Python
through 3.14.4; 3.15.0; 3.15.0; 3.15.0; 3.15.0; 3.15.0; +3 more · source: NVD
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2026-3087
CVE.org
https://www.cve.org/CVERecord?id=CVE-2026-3087
github.com
https://github.com/python/cpython/commit/1071290169f85c09cf767c1099564a9426cdc7e8
Patch
https://github.com/python/cpython/commit/65b255416ae217bf0e22085be3c1976cea18bd8c
github.com
https://github.com/python/cpython/commit/7ef7dd0a74f47facd1fadcbc77f8fb03beb5eb4d
Patch
https://github.com/python/cpython/commit/8e13025747e1ca72e86d1f35637123f9c306f0cb
Patch
https://github.com/python/cpython/commit/8ee6aff14054b37b53e47194a2fa313e98163c94
github.com
https://github.com/python/cpython/commit/a6650a2cdf0c49fb8ce0c982903aa2aa274beefe
More from CPython
9.4
CVE-2026-115557
Distrust compromised intermediate certificates in ssl module
9.2
CVE-2026-19445
Use-after-free of a server-side SSLContext when sni_callback switches contexts
8.8
CVE-2026-3298
Out-of-bounds write in Windows asyncio.ProacterEventLoop.sock_recvfrom_into() when using nbytes
8.4
CVE-2026-82049
tarfile extraction filters allow file modification and content disclosure via hard link to symlink
8.2
CVE-2026-11972
tarfile opened in streaming mode mishandles EOF
