CVE-2026-114583
CPython: tar filter allows writing outside destination via empty-named symlink
CVSS
6.9MediumExploitationNo known exploitationNot in CISA KEV, which does not prove it is unexploitedCISA KEV
Exploit odds (EPSS)0.21%Chance of exploitation activity in the next 30 days, higher than 10% of CVEs. Scored 23 Oct 2026FIRST EPSS
What fixes it
- 3.16.0CPythonCVE List
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
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.
Text from CVE List
Affected versions 1
- CPythonaffected: all versions before 3.16.0CVE List
References 6
- github.com/python/cpython/pull/160098Fixvia CVE List
- github.com/python/cpython/commit/0901ad4ffb22605f12b705d1c1197f0a01f0ba0bFixvia CVE List
- github.com/python/cpython/commit/c6ada40177436e4e2533a7b252082b5f0c043477Fixvia CVE List
- github.com/python/cpython/commit/e7e0b3523ad6ba8472873dda594cf4021a16f8b5Fixvia CVE List
- mail.python.org/archives/list/security-announce@python.org/thread/43JOWPRAV5DI3VZ4FUEUAZOHCATXXOCK/Advisoryvia CVE List
- github.com/python/cpython/issues/160097Referencevia CVE List