BBOT's Symlink guard bypass in unarchive module allows planting symlinks during extraction
What fixes it
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
BBOT's unarchive module rejects archives containing symlink entries before extraction, but for zip and 7z archives it failed to detect symlinks whose listing carries a DOS-attribute prefix before the unix mode, as produced by legacy versions of p7zip. Such an archive, downloaded and extracted during a scan (for example via filedownload), bypassed the guard and caused an attacker-controlled symlink to be written into the extraction directory. The effect is limited to planting the symlink (its target is not written through), and only hosts using such a legacy p7zip build are affected; current mainline 7-Zip is not.
Text from CVE List
Affected versions 53
- bbot, pip>= 2.3.1, < 3.0.0GitHub
- BBOTaffected: 2.3.1 through 2.8.6CVE List
- bbot, PyPIfrom 2.3.1, fixed in 3.0.0OSV
- bbot, PyPI2.3.1OSV
- bbot, PyPI2.3.1.5815rc0OSV
- bbot, PyPI2.3.1.5818rc0OSV
- bbot, PyPI2.3.1.5820rc0OSV
- bbot, PyPI2.3.2OSV
- bbot, PyPI2.3.2.5825rc0OSV
- bbot, PyPI2.3.2.5827rc0OSV
- bbot, PyPI2.3.2.5829rc0OSV
- bbot, PyPI2.3.2.5832rc0OSV
- bbot, PyPI2.3.2.5836rc0OSV
- bbot, PyPI2.3.2.5838rc0OSV
- bbot, PyPI2.3.2.5841rc0OSV
- bbot, PyPI2.3.2.5848rc0OSV
- bbot, PyPI2.3.2.5850rc0OSV
- bbot, PyPI2.3.2.5855rc0OSV
- bbot, PyPI2.3.2.5874rc0OSV
- bbot, PyPI2.3.2.5889rc0OSV
- bbot, PyPI2.3.2.5893rc0OSV
- bbot, PyPI2.3.2.5897rc0OSV
- bbot, PyPI2.3.2.5904rc0OSV
- bbot, PyPI2.3.2.5906rc0OSV
- bbot, PyPI2.3.2.5909rc0OSV
- bbot, PyPI2.3.2.5913rc0OSV
- bbot, PyPI2.3.2.5915rc0OSV
- bbot, PyPI2.3.2.5927rc0OSV
- bbot, PyPI2.3.2.5938rc0OSV
- bbot, PyPI2.3.2.5942rc0OSV
- bbot, PyPI2.3.2.5944rc0OSV
- bbot, PyPI2.3.2.5950rc0OSV
- bbot, PyPI2.3.2.5958rc0OSV
- bbot, PyPI2.3.2.5967rc0OSV
- bbot, PyPI2.3.2.5971rc0OSV
- bbot, PyPI2.4.0OSV
- bbot, PyPI2.4.0.5974rc0OSV
- bbot, PyPI2.4.0.5977rc0OSV
- bbot, PyPI2.4.0.5984rc0OSV
- bbot, PyPI2.4.0.5986rc0OSV
- bbot, PyPI2.4.0.5988rc0OSV
- bbot, PyPI2.4.0.5992rc0OSV
- bbot, PyPI2.4.0.5995rc0OSV
- bbot, PyPI2.4.0.5997rc0OSV
- bbot, PyPI2.4.0.5999rc0OSV
- bbot, PyPI2.4.0.6005rc0OSV
- bbot, PyPI2.4.0.6007rc0OSV
- bbot, PyPI2.4.0.6031rc0OSV
- bbot, PyPI2.4.0.6037rc0OSV
- bbot, PyPI2.4.0.6039rc0OSV
- bbot, PyPI2.4.0.6045rc0OSV
- bbot, PyPI2.4.0.6050rc0OSV
- bbot, PyPI2.4.0.6067rc0OSV
References 6
- github.com/blacklanternsecurity/bbot/commit/3bc8d3a96f34f312853c9fcf8decee2a4e905f26Fixvia GitHub
- github.com/blacklanternsecurity/bbot/commit/a3f1a2292e2b0a553827c6175b761abe28807735Fixvia CVE List
- github.com/blacklanternsecurity/bbot/security/advisories/GHSA-xpf3-p7gm-7756Advisoryvia GitHub
- github.com/pypa/advisory-database/tree/main/vulns/bbot/PYSEC-2026-3719.yamlAdvisoryvia GitHub
- github.com/advisories/GHSA-xpf3-p7gm-7756Advisoryvia GitHub
- nvd.nist.gov/vuln/detail/CVE-2026-14966Referencevia GitHub