Back
CVE-2026-3087
shutil.unpack_archive() doesn't check for Windows absolute paths in ZIPs
Medium6.0EPSS 0.55%
- Published
- Updated
- Reserved
- Assigned by
- PSF
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.
Scores
| Scored by | CVSS | Score | Vector |
|---|---|---|---|
| PSFCNA (assigner) | 4.0 | Medium6.0 | CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N |
| NVDNVD · Modified | 4.0 | Medium6.0 | CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
- EPSS (exploitation in 30 days)
- 0.55% · top 54% of all CVEs (6 Nov 2026)
- CISA SSVC
- Exploitation: none · Automatable: no · Technical impact: partial
Loading the EPSS history…
The list uses the assigner's score when there is one, then CISA's, then NVD's: Medium 6.0.
Weakness
Affected products
Python Software Foundation · CPython
- affected < 3.10.21
- affected 3.11.0 – < 3.11.16
- affected 3.12.0 – < 3.12.14
- affected 3.13.0 – < 3.13.14
- affected 3.14.0a1 – < 3.14.5rc1
- affected 3.15.0a1 – < 3.15.0b1
References (14)
- https://github.com/python/cpython/pull/146591 (opens in a new tab)patch
- https://github.com/python/cpython/issues/146581 (opens in a new tab)issue-tracking
- https://mail.python.org/archives/list/[email protected]/thread/X6FXE5C6KDKOVNX3EC3DWD5RUPFWOZA4/ (opens in a new tab)vendor-advisory
- https://github.com/python/cpython/commit/ab5ef98af693bded74a738570e81ea70abef2840 (opens in a new tab)patch
- https://github.com/python/cpython/commit/b01e594fbe754a960212f908d047294e880b52fd (opens in a new tab)patch
- https://github.com/python/cpython/commit/fc829e88753858c8ac669594bf0093f44948c0f4 (opens in a new tab)patch
- https://github.com/python/cpython/commit/65b255416ae217bf0e22085be3c1976cea18bd8c (opens in a new tab)patch
- https://github.com/python/cpython/commit/8e13025747e1ca72e86d1f35637123f9c306f0cb (opens in a new tab)patch
- https://github.com/python/cpython/commit/8ee6aff14054b37b53e47194a2fa313e98163c94 (opens in a new tab)patch
- https://github.com/python/cpython/commit/ba0aca3bffce431fe2fbd53ca4cd6a717a2e2c19 (opens in a new tab)patch
- https://github.com/python/cpython/commit/a6650a2cdf0c49fb8ce0c982903aa2aa274beefe (opens in a new tab)patch
- https://github.com/python/cpython/commit/7ef7dd0a74f47facd1fadcbc77f8fb03beb5eb4d (opens in a new tab)patch
- https://github.com/python/cpython/commit/1071290169f85c09cf767c1099564a9426cdc7e8 (opens in a new tab)patch
- http://www.openwall.com/lists/oss-security/2026/04/28/9 (opens in a new tab)
Sources
The same CVE in the primary databases and aggregators, to check against.
- CVE.org record (opens in a new tab)
- CVE List JSON (GitHub) (opens in a new tab)
- NVD (opens in a new tab)
- FIRST EPSS (opens in a new tab)
- OSV.dev (opens in a new tab)
- GitHub Advisories (opens in a new tab)
- CIRCL Vulnerability-Lookup (opens in a new tab)
Badge for a README or a ticket
[](https://trackcve.app/cve/CVE-2026-3087)Record last updated .