PHP2Shell : See if you’re affected with a free external attack surface scan. Click Here > 

New CVE Detected

CVE-2026-91940 – Arbitrary File Write – Crawl4AI 0.9.0 through 0.9.2

Be the first to know when new zero-days emerge:

Summary

CVE-2026-91940 is an arbitrary file write vulnerability in Crawl4AI, an open-source LLM-friendly web crawling and scraping framework, caused by insufficient validation of untrusted configuration fields in its PDFContentScrapingStrategy component. A remote, unauthenticated attacker can submit a crafted crawl configuration to write attacker-controlled bytes to arbitrary directories accessible to the service account. The flaw carries a CVSS score of 8.7 (High).

Technical details

  • Root cause: the _filter_untrusted_fields function (in async_configs.py) is meant to strip disallowed fields from untrusted, client-supplied configuration bodies, but it fails open for any type that has no entry in its allowlist. PDFContentScrapingStrategy has no such allowlist entry despite being reachable via untrusted requests.
  • As a result, fields including image_save_dir pass through unfiltered, and the PDF/image writer performs no path containment (no realpath/canonicalization check) before writing extracted content to disk.
  • Trigger conditions: an attacker submits a crawl/scrape request whose configuration body specifies PDFContentScrapingStrategy with a crafted image_save_dir, pointing the target URL at a PDF the attacker controls (self-hosted or otherwise reachable).
  • Attack vector: Network — no authentication or user interaction is required to reach the vulnerable code path via the crawler’s configuration/API interface.
  • Impact: arbitrary file write with attacker-controlled content into any directory writable by the application’s service account, which can lead to configuration tampering, planting of malicious files, or further compromise depending on what the service account can write to. No confidentiality or availability impact and no demonstrated direct code-execution path is documented in the advisory.

Affected software

  • Crawl4AI (PyPI package crawl4ai, vendor unclecode): versions 0.9.0 up to (but not including) 0.9.3
  • Fixed in version 0.9.3 and later

Severity

  • CVSS v4.0 Base Score: 8.7 (High)
  • Vector: 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
  • (CVSS v3.1 equivalent also published: 7.5, CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N)

Mitigation and recommended actions

  • Immediate: upgrade Crawl4AI to version 0.9.3 or later, which fixes the field-filtering logic for PDFContentScrapingStrategy.
  • If patching is not immediately possible:
    • Disable or restrict use of PDFContentScrapingStrategy in exposed crawl configurations.
    • Do not accept crawl/scrape configuration bodies from untrusted or unauthenticated clients; place an authentication layer in front of any exposed Crawl4AI API/Docker server.
    • Run the crawler service under a restricted, non-privileged account with write access limited to a dedicated, isolated directory to constrain the impact of any unauthorized file write.
    • Monitor for unexpected files written outside expected output directories.

References

Are you exposed?

Get a free report of your organization’s exposure to this CVE and threat

How IONIX’s External Exposure Management Platform Detects and Validates
Zero-Days to Shrink MTTR

1

Map your entire attack surface (continously)

IONIX uses multi-factor discovery methods, including DNS analysis, certificate mapping, metadata inspection, and more, to automatically map every internet-facing asset across your environment. This includes cloud instances, third-party platforms, shadow IT, and even forgotten infrastructure that traditional tools miss.

2

Monitor for new CVEs

Dozens of threat intel feeds using agentic technology are continuously analyzed to detect the appearance of proof-of-concept code, exploit kits, and indicators of active targeting. IONIX goes further by applying AI to proactively evaluate whether emerging vulnerabilities are likely to be exploited, even before PoCs go public.

3

Identify Potential External Exposures

Not all CVEs matter. IONIX filters vulnerabilities by asking attacker-centric questions: Can it be reached from the internet? Does it require authentication? Is it being exploited in the wild? This dramatically reduces noise and focuses teams on threats that can actually be weaponized.

4

Create Safe, Scalable Exploit Validations

IONIX transforms real-world PoCs into safe, non-intrusive test payloads that can be run in production environments without disruption. These simulations are precisely targeted to the systems that are vulnerable, ensuring rapid validation without unnecessary load.

5

Execute Exploit Validations

By combining context about software stack, versioning, exposure status, and reachability, IONIX ensures that only the right payloads are executed against the right assets, maximizing efficiency and minimizing risk.

6

Drive Fast and Actionable Remediation

Results are routed through integrations with ticketing, SOAR, and SIEM tools. Issues are written in plain language, bundled into remediation clusters, and prioritized based on asset criticality, exploitability, and blast radius. This shortens mean time to remediation (MTTR) and empowers teams to act with confidence.

Are you exposed?

Get a free report of your organization’s exposure to this CVE and threat

Subscribe to Threat Center RSS

Copy/paste the link below into your preferred RSS reader or follow these instructions to subscribe to Slack alerts.

Get Real-Time CVE Alerts to Your Email

Be the first to know when new zero-days emerge