shutil.unpack_archive() doesn't check for Windows absolute paths in ZIPs
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.
01
describes (1)
Related CVEs.
| ID | severity | exploitable | ||
|---|---|---|---|---|
| CVE-2026-3087US | high7.5 | — | ||
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 whi… | ||||
02
references
External citations — patches, advisories, analysis.
- http://www.openwall.com/lists/oss-security/2026/04/28/9ADVISORY
- https://github.com/python/cpython/commit/1071290169f85c09cf767c1099564a9426cdc7e8WEB
- https://github.com/python/cpython/commit/65b255416ae217bf0e22085be3c1976cea18bd8cFIX
- https://github.com/python/cpython/commit/7ef7dd0a74f47facd1fadcbc77f8fb03beb5eb4dWEB
- https://github.com/python/cpython/commit/8e13025747e1ca72e86d1f35637123f9c306f0cbFIX
- https://github.com/python/cpython/commit/8ee6aff14054b37b53e47194a2fa313e98163c94FIX
- https://github.com/python/cpython/commit/a6650a2cdf0c49fb8ce0c982903aa2aa274beefeWEB
- https://github.com/python/cpython/commit/ab5ef98af693bded74a738570e81ea70abef2840FIX
scry
Advisories like this name the exposed products attackers go after on your perimeter. See what is exposed on your perimeter with a free passive scan.
Free scan