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.
Problem types
Product status
Any version before 3.15.0
Credits
Phùng Siêu Đạt (OPSWAT Unit 515)
Seth Larson (https://github.com/sethmlarson)
Gregory P. Smith (https://github.com/gpshead)
Petr Viktorin (https://github.com/encukou)
Stan Ulbrych (https://github.com/StanFromIreland)
References
www.openwall.com/lists/oss-security/2026/06/04/9
github.com/python/cpython/pull/149487
github.com/python/cpython/issues/149486
mail.python.org/.../thread/4FU62L2M6RMMHT2QPGQNPEHHUND7CEX5/