tarfile hardlink fallback ignores custom extraction filter rejection via None
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- Active
- Attack complexity
- Low
- Attack requirements
- Present
- Impact type
- —
- Confidentiality · integrity · availability
- None · High · None
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA and Red Hat.
Summary
When tarfile extracts a link on a system that doesn't support links, it falls back to extracting a member from the archive. In this case, the filter function is run twice: once for the extracted member, and once with name set to the location of the link. For one of the calls, the return value was ignored. Instead, the member should be skipped if either call returns None.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| Python Software Foundation | CPython | before 3.10.22; 3.11.0 to before 3.11.17; 3.12.0 to before 3.12.15; 3.13.0 to before 3.13.16; 3.14.0 to before 3.14.9; 3.15.0a1 to before 3.15.0rc3 | 3.10.22, 3.11.17, 3.12.15, 3.13.16, 3.14.9, 3.15.0rc3 | Patch available | CNA |
- CPython VendorPython Software Foundation Affected before 3.10.22; 3.11.0 to before 3.11.17; 3.12.0 to before 3.12.15; 3.13.0 to before 3.13.16; 3.14.0 to before 3.14.9; 3.15.0a1 to before 3.15.0rc3 Fixed in 3.10.22, 3.11.17, 3.12.15, 3.13.16, 3.14.9, 3.15.0rc3 Patch available CNA
CPE names Threatist (inferred) · 1
Inferred from how NVD named this product before; not given by a source.
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:python:python:*:*:*:*:*:*:*:* | — | — | python-pillow |
- cpe:2.3:a:python:python:*:*:*:*:*:*:*:* Versions — — ·python-pillow
Remediation
- Fix · CNA CPython (Python Software Foundation) Fixed in 3.10.22, 3.11.17, 3.12.15, 3.13.16, 3.14.9, 3.15.0rc3
Red Hat 5 advisories
- RHSA-2026:67607 Released 2026-09-15 · Red Hat rating ModerateRed Hat Hardened Images RPMs Security Update
- Red Hat Hardened Images python3.12-3.12.14-1.2.hum1@aarch64, python3.12-3.12.14-1.2.hum1@src, python3.12-3.12.14-1.2.hum1@x86_64 +12
- RHSA-2026:67606 Released 2026-09-15 · Red Hat rating ModerateRed Hat Hardened Images RPMs Security Update
- Red Hat Hardened Images python3.13-3.13.15-1.2.hum1@aarch64, python3.13-3.13.15-1.2.hum1@src, python3.13-3.13.15-1.2.hum1@x86_64 +16
- RHSA-2026:67575 Released 2026-09-15 · Red Hat rating ModerateRed Hat Hardened Images RPMs Security Update
- Red Hat Hardened Images python3.11-3.11.16-1.3.hum1@aarch64, python3.11-3.11.16-1.3.hum1@src, python3.11-3.11.16-1.3.hum1@x86_64 +12
Show 2 more Red Hat advisories
- RHSA-2026:67574 Released 2026-09-15 · Red Hat rating ModerateRed Hat Hardened Images RPMs Security Update
- Red Hat Hardened Images python3.10-3.10.21-1.2.hum1@aarch64, python3.10-3.10.21-1.2.hum1@src, python3.10-3.10.21-1.2.hum1@x86_64 +12
- RHSA-2026:67572 Released 2026-09-15 · Red Hat rating ImportantRed Hat Hardened Images RPMs Security Update
- Red Hat Hardened Images python-unversioned-command-3.14.7-1.2.hum1@noarch@public-hummingbird-aarch64-rpms, python-unversioned-command-3.14.7-1.2.hum1@noarch@public-hummingbird-x86_64-rpms, python3-3.14.7-1.2.hum1@aarch64 +28
Vendor assessments
Red Hat
Red Hat rating: Moderate. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat Hardened Images | Fixed | RHSA-2026:67572, RHSA-2026:67574, RHSA-2026:67575, RHSA-2026:67606, RHSA-2026:67607 |
Not affected: 1 product
- Red Hat Hardened Images
Timeline
- 2026-10-02 Threatist record created from CVE-2026-87910
- 2026-10-03 Alias added: GHSA-rj44-3777-mh5x
- 2026-10-22 Fix available: Python Software Foundation/[email protected] · CNA
References
Patch 9
- https://github.com/python/cpython/pull/157266
- https://github.com/python/cpython/commit/d9565e54b1fc6d63c5be9afd58114499128fa57b
- https://github.com/python/cpython/commit/fb2f0bbc3b35264f09cc2cb2934b7987527a6bc2
- https://github.com/python/cpython/commit/9c17bace90f88dfba6d0e2fe23c8e7ae35f83955
- https://github.com/python/cpython/commit/764fd0af8d9e19d3684a58d2e58bf770f0605036
- https://github.com/python/cpython/commit/2eb0c2f1dc71847731b6ab30aebefd058d482a7f
- https://github.com/python/cpython/commit/c1f106d240c4ffcb3608ed0a20e8aba6c865f6d3
- https://github.com/python/cpython/commit/3105a3498aaf681ce128cf5baf83c2e5574267c5
- https://github.com/python/cpython/commit/a4919937a4e1e69a0d178909c6f20557eca5d1d0
Advisory 1
More Python Software Foundation vulnerabilities
- TI-2024-07037 Quadratic complexity parsing cookies with backslashes CVSS 3.1HIGH 7.5
- TI-2024-11791 Bypass extraction filter to modify file metadata outside extraction directory CVSS 3.1MEDIUM 5.3
- TI-2024-00411 Quoted zip-bomb protection for zipfile CVSS 3.1MEDIUM 6.2
- TI-2026-13296 `HTTPPasswordMgr` can send saved HTTPS credentials via HTTP because of incorrect scheme matching CVSS 4.0MEDIUM 6.0
- TI-2024-06422 Email header injection due to unquoted newlines CVSS 3.1MEDIUM 5.5
- TI-2026-04606 Possible to hijack modules in current working directory CVSS 4.0MEDIUM 5.6
Sources
- CVE-2026-87910 · CVE Program
- CVE-2026-87910 · NVD
- FIRST EPSS
- GHSA-rj44-3777-mh5x · GitHub Advisory Database · CC BY 4.0
- CVE-2026-87910 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences