{"id":"CVE-2026-91940","summary":"crawl4ai before 0.9.3 Arbitrary File Write via PDFContentScrapingStrategy","details":"crawl4ai before 0.9.3 contains an arbitrary file write vulnerability in PDFContentScrapingStrategy where the _filter_untrusted_fields function fails to validate untrusted configuration fields. Attackers can submit crafted config bodies with malicious image_save_dir paths to write attacker-controlled bytes into any directory accessible to the service account.","aliases":["GHSA-xpp7-j28w-2gvx"],"modified":"2026-09-18T03:30:49.630044219Z","published":"2026-09-15T15:18:01.074Z","database_specific":{"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/91xxx/CVE-2026-91940.json","cna_assigner":"VulnCheck","cwe_ids":["CWE-22"]},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/91xxx/CVE-2026-91940.json"},{"type":"ADVISORY","url":"https://github.com/unclecode/crawl4ai/security/advisories/GHSA-xpp7-j28w-2gvx"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-91940"},{"type":"ADVISORY","url":"https://www.vulncheck.com/advisories/crawl4ai-before-0.9.3-arbitrary-file-write-via-pdfcontentscrapingstrategy"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/unclecode/crawl4ai","events":[{"introduced":"c66f3276fd355031c8632500911fe7041ad6fc14"},{"fixed":"4bcd5fa8a56000ce103dd499e8ecdff2439f3e9c"}],"database_specific":{"extracted_events":[{"introduced":"0.9.0"},{"fixed":"0.9.3"},{"introduced":"crawl4ai"}],"source":["AFFECTED_FIELD","DESCRIPTION"]}}],"versions":["v0.9.2","docker-rebuild-v0.9.2","v0.9.1","docker-rebuild-v0.9.1","v0.9.0","docker-rebuild-v0.9.0"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-91940.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N"}]}