Crawl4AI is an open-source LLM-friendly web crawler and scraper. Prior to 0.9.0, when the crawler saves a downloaded file, the destination filename was taken from attacker-influenced input and joined to the downloads directory with no confinement. A filename containing an absolute path or traversal escaped the downloads directory, giving an arbitrary file write with attacker-controlled contents; the HTTP crawler path uses the response Content-Disposition filename and the browser crawler path uses the download's suggested filename. Because the written bytes are attacker-controlled, this can escalate to remote code execution. This issue is fixed in version 0.9.0.
Fix
Patch, vendor advisory and mitigation references on NVD 2
- https://github.com/unclecode/crawl4ai/commit/60886d1a0c52682e4c83a7cef9dfac417fff6bd2 Patch
- https://github.com/unclecode/crawl4ai/security/advisories/GHSA-2jq4-q6vv-4cp3 Mitigation, Vendor Advisory, Exploit
Every line above is quoted from NVD, CISA, Microsoft, the vendor's own advisory or DISA; nothing is generated.
Change history 1
- First seenCVSS 9.6 · kidocodeNVD modified 2026-10-25 20:10
Affected (CPE criteria) 1
cpe:2.3:a:kidocode:crawl4ai:*:*:*:*:*:*:*:*
References 2
- https://github.com/unclecode/crawl4ai/commit/60886d1a0c52682e4c83a7cef9dfac417fff6bd2 Patch
- https://github.com/unclecode/crawl4ai/security/advisories/GHSA-2jq4-q6vv-4cp3 Mitigation, Vendor Advisory, Exploit