PSF-2026-45: tar filter allows writing outside destination via empty-named symlink
tarfile.tarfilter 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.tarfilter counterpart of CVE-2026-7774, which covered tarfile.datafilter.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
bitnami/libpythonto a version that resolves this vulnerability.Fixed in 3.11.18 - Upgrade
Upgrade
bitnami/libpythonto a version that resolves this vulnerability.Fixed in 3.12.16 - Upgrade
Upgrade
bitnami/libpythonto a version that resolves this vulnerability.Fixed in 3.13.18 - Upgrade
Upgrade
bitnami/libpythonto a version that resolves this vulnerability.Fixed in 3.14.10 - Upgrade
Upgrade
bitnami/libpythonto a version that resolves this vulnerability.Fixed in 3.15.2 - Upgrade
Upgrade
bitnami/pythonto a version that resolves this vulnerability.Fixed in 3.11.18 - Upgrade
Upgrade
bitnami/pythonto a version that resolves this vulnerability.Fixed in 3.12.16 - Upgrade
Upgrade
bitnami/pythonto a version that resolves this vulnerability.Fixed in 3.13.18 - Upgrade
Upgrade
bitnami/pythonto a version that resolves this vulnerability.Fixed in 3.14.10 - Upgrade
Upgrade
bitnami/pythonto a version that resolves this vulnerability.Fixed in 3.15.2 - Upgrade
Upgrade
bitnami/python-minto a version that resolves this vulnerability.Fixed in 3.11.18 - Upgrade
Upgrade
bitnami/python-minto a version that resolves this vulnerability.Fixed in 3.12.16 - Upgrade
Upgrade
bitnami/python-minto a version that resolves this vulnerability.Fixed in 3.13.18 - Upgrade
Upgrade
bitnami/python-minto a version that resolves this vulnerability.Fixed in 3.14.10 - Upgrade
Upgrade
bitnami/python-minto a version that resolves this vulnerability.Fixed in 3.15.2
Event History
Frequently Asked Questions
Who is exposed to this issue?
Applications using tarfile.extractall() with filter="tar" on malicious or otherwise untrusted tar archives are exposed. The impact is limited by the permissions of the process performing extraction.
What does an attacker need to exploit it?
An attacker needs to supply a crafted tar archive containing link entries such as symlinks with empty or directory-like names. No authentication or user interaction is indicated by the provided vector.
Is extraction confined to the chosen destination directory?
Not reliably when the vulnerable tar_filter is used. Crafted link entries can redirect later archive members so that files are written outside the intended extraction directory.
How can I determine whether an application is affected?
Identify code paths that extract tar archives with tarfile.extractall() and explicitly use filter="tar". Those paths are affected when they can process attacker-controlled archives.