CVE-2026-114583
CVE-2026-114583 · tar filter allows writing outside destination via empty-named symlink
This page contains facts from public vulnerability sources. Check the original advisory before updating.
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.
CVSS 6.9 · Medium · EPSS 0.2% · Fix available
- Published
- Updated
Affected products and versions
python
- Versions
- ≥ 0, < 3.11.18: Affected (python)
- ≥ 3.12.0, < 3.12.16: Affected (python)
- ≥ 3.13.0, < 3.13.18: Affected (python)
- ≥ 3.14.0a1, < 3.16.0: Affected (python)
Update to 3.11.18; Update to 3.12.16; Update to 3.13.18; Update to 3.16.0
jython Debian:12
- Versions
- 2.7.3+repack1-1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
jython Debian:13
- Versions
- 2.7.3+repack1-1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
jython Debian:14
- Versions
- 2.7.3+repack1-1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
pypy3 Debian:12
- Versions
- 7.3.11+dfsg-2
- 7.3.11+dfsg-2+deb12u1
- 7.3.11+dfsg-2+deb12u2
- 7.3.11+dfsg-2+deb12u3
- 7.3.12+dfsg-1
- 7.3.12~rc1+dfsg-1
- 7.3.12~rc2+dfsg-1
- 7.3.13+dfsg-1
- 7.3.14+dfsg-1
- 7.3.15+dfsg-1
- 7.3.16+dfsg-1
- 7.3.16+dfsg-2
- 7.3.17+dfsg-1
- 7.3.17+dfsg-2
- 7.3.17+dfsg-3
- 7.3.18+dfsg-1
- 7.3.18+dfsg-2
- 7.3.19+dfsg-1
- 7.3.19+dfsg-2
- 7.3.20+dfsg-1
- 7.3.20+dfsg-2
- 7.3.20+dfsg-3
- 7.3.20+dfsg-4
- 7.3.21+dfsg-1
- 7.3.21+dfsg-2
- 7.3.21+dfsg-3
- 7.3.21+dfsg-4
- 7.3.22+dfsg-1
- 7.3.23+dfsg-1
- 7.3.23+dfsg-2
- 8.0.0+dfsg-1
- 8.0.1+dfsg-1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
pypy3 Debian:13
- Versions
- 7.3.19+dfsg-2
- 7.3.20+dfsg-1
- 7.3.20+dfsg-2
- 7.3.20+dfsg-3
- 7.3.20+dfsg-4
- 7.3.21+dfsg-1
- 7.3.21+dfsg-2
- 7.3.21+dfsg-3
- 7.3.21+dfsg-4
- 7.3.22+dfsg-1
- 7.3.23+dfsg-1
- 7.3.23+dfsg-2
- 8.0.0+dfsg-1
- 8.0.1+dfsg-1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
pypy3 Debian:14
- Versions
- 7.3.19+dfsg-2
- 7.3.20+dfsg-1
- 7.3.20+dfsg-2
- 7.3.20+dfsg-3
- 7.3.20+dfsg-4
- 7.3.21+dfsg-1
- 7.3.21+dfsg-2
- 7.3.21+dfsg-3
- 7.3.21+dfsg-4
- 7.3.22+dfsg-1
- 7.3.23+dfsg-1
- 7.3.23+dfsg-2
- 8.0.0+dfsg-1
- 8.0.1+dfsg-1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
python3.11 Debian:12
- Versions
- 3.11.2-6
- 3.11.2-6+deb12u1
- 3.11.2-6+deb12u2
- 3.11.2-6+deb12u3
- 3.11.2-6+deb12u4
- 3.11.2-6+deb12u5
- 3.11.2-6+deb12u6
- 3.11.2-6+deb12u7
- 3.11.2-6+deb12u8
- 3.11.2-6+deb12u9
- 3.11.3-1
- 3.11.3-2
- 3.11.4-1
- 3.11.5-1
- 3.11.5-2
- 3.11.5-3
- 3.11.6-1
- 3.11.6-2
- 3.11.6-3
- 3.11.6-3~hurd.2
- 3.11.7-1
- 3.11.7-2
- 3.11.8-1
- 3.11.8-1.1~exp1
- 3.11.8-1.1~exp2
- 3.11.8-2
- 3.11.8-3
- 3.11.8-3+hurd.1
- 3.11.9-1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
python3.13 Debian:13
- Versions
- 3.13.11-1
- 3.13.12-1
- 3.13.14-1
- 3.13.15-1
- 3.13.5-2
- 3.13.5-2+deb13u1
- 3.13.5-2+deb13u2
- 3.13.5-2+deb13u3
- 3.13.5-2+deb13u4
- 3.13.5-2+deb13u5
- 3.13.6-1
- 3.13.7-1
- 3.13.8-1
- 3.13.9-1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
python3.13 Debian:14
- Versions
- 3.13.11-1
- 3.13.12-1
- 3.13.14-1
- 3.13.15-1
- 3.13.5-2
- 3.13.6-1
- 3.13.7-1
- 3.13.8-1
- 3.13.9-1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
python3.14 Debian:14
- Versions
- 3.14.0-1
- 3.14.0-2
- 3.14.0-3
- 3.14.0-4
- 3.14.0-5
- 3.14.0~a7-1
- 3.14.0~b1-1
- 3.14.0~b2-1
- 3.14.0~b3-1
- 3.14.0~b4-1
- 3.14.0~rc1-1
- 3.14.0~rc2-1
- 3.14.0~rc3-1
- 3.14.2-1
- 3.14.3-1
- 3.14.3-2
- 3.14.3-3
- 3.14.3-4
- 3.14.3-5
- 3.14.4-1
- 3.14.4-2
- 3.14.5-1
- 3.14.5~rc1-1
- 3.14.6-1
- 3.14.7-1
- 3.14.7-2
- 3.14.7-3
- 3.14.7-4
- 3.14.7-5
- 3.14.8-1
- 3.14.9-1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
python3.15 Debian:14
- Versions
- 3.15.0-1
- 3.15.0~a8-1
- 3.15.0~a8-2
- 3.15.0~b1-1
- 3.15.0~b1-2
- 3.15.0~b1-3
- 3.15.0~b2-1
- 3.15.0~b3-1
- 3.15.0~b4-1
- 3.15.0~rc1-1
- 3.15.0~rc2-1
- 3.15.0~rc2-2
- 3.15.0~rc2-3
- 3.15.0~rc3-1
- 3.15.0~rc3-2
- 3.15.1-1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
Original sources
- https://github.com/python/cpython/pull/160098
- https://github.com/python/cpython/issues/160097
- https://mail.python.org/archives/list/[email protected]/thread/43JOWPRAV5DI3VZ4FUEUAZOHCATXXOCK/
- https://github.com/python/cpython/commit/0901ad4ffb22605f12b705d1c1197f0a01f0ba0b
- https://github.com/python/cpython/commit/c6ada40177436e4e2533a7b252082b5f0c043477
- https://github.com/python/cpython/commit/e7e0b3523ad6ba8472873dda594cf4021a16f8b5
- https://github.com/python/cpython/commit/04d8fca7da2cf3ebc0881fec8a53a1330c3b665d
- https://github.com/python/cpython/commit/bc93f8ad4c4a0f92d184ec8fccc8ff8a651dcec2
- https://github.com/python/cpython/commit/f4401da82e2baec5dab06cf070fbca77d53220f0
- https://nvd.nist.gov/vuln/detail/CVE-2026-114583