Description
tarfile.data_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() to write files outside the destination directory, subject to the permissions of the extracting process.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Python Software Foundation CPython
Default version status: unaffected
0 to < 3.10.21affected3.11.0 to < 3.11.16affected3.12.0 to < 3.12.14affected3.13.0 to < 3.13.14affected3.14.0 to < 3.14.6affected3.15.0a1 to < 3.15.0b2affected
References
- https://github.com/python/cpython/pull/149487 ↗
- https://github.com/python/cpython/issues/149486 ↗
- https://mail.python.org/archives/list/security-announce@python.org/thread/4FU62L2M6RMMHT2QPGQNPEHHUND7CEX5/ ↗
- https://github.com/python/cpython/commit/0478bd83d82b255e0f29f613367a59d261e7eaa2 ↗
- https://github.com/python/cpython/commit/0d28f5e46e151718972dfabd91205444d0037b6d ↗
- https://github.com/python/cpython/commit/578411982c16f753f4893532510099ef665117da ↗
- https://github.com/python/cpython/commit/5cf47a248c35c375d610b87b2f72fd1ed454b558 ↗
- https://github.com/python/cpython/commit/74cca9a92fb7d653e404843a56b8bdc7b0afdbbf ↗
- https://github.com/python/cpython/commit/10a13bee3c24f9c62b602e696334ff2272a40efc ↗
- https://github.com/python/cpython/commit/c063191cb7f9170f9565e305f8aa2b79ab2bf609 ↗
- http://www.openwall.com/lists/oss-security/2026/06/04/9 ↗