CVE-2026-87910
tarfile hardlink fallback ignores custom extraction filter rejection via None
At a glance
- Severity
- MEDIUM 5.7
- EPSS
- EPSS 0.61 % · percentile 49 (2026-10-27)
- State
- PUBLISHED
- Published
- Updated
- Assigner
- PSF
- NVD status
- Awaiting Analysis
Description
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.
Scores
| Version | Score | Vector | Scored by |
|---|---|---|---|
| CVSS 4.0 | MEDIUM 5.7 | CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:A/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N | PSF |
| CVSS 4.0 | MEDIUM 5.7 | CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:A/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 | NVD · cna@python.org (Secondary) |
Weaknesses (CWE)
European references
- ENISA EUVD · EUVD-2026-76162
- GCVE · GCVE-0-2026-87910
CERT-FR advisories
- CERTFR-2026-AVI-1385 — Multiples vulnérabilités dans les produits VMware · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1249 — Multiples vulnérabilités dans les produits VMware · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1167 — Multiples vulnérabilités dans Python · cert.ssi.gouv.fr
Affected products
| Product | Versions |
|---|---|
| Python Software Foundation · CPython | affected 0 < 3.10.22 ; affected 3.11.0 < 3.11.17 ; affected 3.12.0 < 3.12.15 ; affected 3.13.0 < 3.13.16 ; affected 3.14.0 < 3.14.9 ; affected 3.15.0a1 < 3.15.0rc3 |
References
- https://mail.python.org/archives/list/security-announce@python.org/thread/57TBTLL2W6APMZR3A25B2YV7GL3EPTDJ/
- https://github.com/python/cpython/pull/157266
- https://github.com/python/cpython/issues/157265
- 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
- http://www.openwall.com/lists/oss-security/2026/09/11/8
Sources
| Source | Licence |
|---|---|
| CVE List (CVEProject cvelistV5) | CVE Program Terms of Use |
| EPSS (FIRST.org) | FIRST — attribution requested |
| ENISA EUVD | ENISA — reproduction authorised, source acknowledged |
| CERT-FR (ANSSI) | Licence Ouverte / Etalab 2.0 |
| NVD (NIST) via fkie-cad/nvd-json-data-feeds | Public domain — this product uses data from the NVD API but is not endorsed or certified by the NVD |