tar filter allows writing outside destination via empty-named symlink
- Published
- Last modified
- Status
- published
- Known exploitation
- Not listed in CISA KEV
- Public exploit
- None on Exploit-DB
Summary
The Python standard library's tarfile module, specifically its "tar" extraction filter, is affected. A specially crafted tar archive can make extractall() write files outside the intended destination directory, with whatever permissions the extracting process has.
Summarized by anthropic/claude-haiku-5.5. Verify details against the original sources.
Read the original 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 versions
- Python Software Foundation CPython
fixed in 3.16.0