What’s Vulnerable › Vulnerabilities
CVE-2026-114583: tar filter allows writing outside destination via empty-named symlink
- Severity: medium (CVSS 6.9 v4.0)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.2% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2026-10-22 · updated 2026-10-27
Description
tarfile.tar_filter could be bypassed using crafted link entries, including symlinks with empty or directory-like names, to redirect later archive members outside the intended extraction directory. This allowed a malicious tar archive to cause tarfile.extractall() with filter="tar" to write files outside the destination directory, subject to the permissions of the extracting process. This is the tarfile.tar_filter counterpart of CVE-2026-7774, which covered tarfile.data_filter.
Affected products
- Python: before 3.11.18; from 3.12.0 before 3.12.16; from 3.13.0 before 3.13.18; from 3.14.0 before 3.14.10; from 3.15.0 before 3.15.2; from 3.16.0a1 before 3.16.0 — fixed in 3.11.18, 3.12.16, 3.13.18, 3.14.10, 3.15.2, 3.16.0
How to fix
Upgrade to a fixed version: Python 3.11.18, 3.12.16, 3.13.18, 3.14.10. Check the vendor advisory for mitigations.
References
- https://github.com/python/cpython/commit/04d8fca7da2cf3ebc0881fec8a53a1330c3b665d
- https://github.com/python/cpython/commit/0901ad4ffb22605f12b705d1c1197f0a01f0ba0b
- https://github.com/python/cpython/commit/bc93f8ad4c4a0f92d184ec8fccc8ff8a651dcec2
- https://github.com/python/cpython/commit/c6ada40177436e4e2533a7b252082b5f0c043477
- https://github.com/python/cpython/commit/e7e0b3523ad6ba8472873dda594cf4021a16f8b5
- https://github.com/python/cpython/commit/f4401da82e2baec5dab06cf070fbca77d53220f0
- https://github.com/python/cpython/issues/160097
- https://github.com/python/cpython/pull/160098
- https://mail.python.org/archives/list/security-announce@python.org/thread/43JOWPRAV5DI3VZ4FUEUAZOHCATXXOCK/
Get alerted when CVE-2026-114583 or the next vulnerability affects your stack