CVE-2026-91941 Overview
CVE-2026-91941 is an uncontrolled resource consumption vulnerability in Crawl4AI versions before 0.9.3. The flaw resides in the PDFContentScrapingStrategy component and allows unauthenticated clients to trigger denial of service against shared workers. Attackers send POST requests that select the PDF scraping strategy and reference arbitrarily large remote PDFs. Because the strategy enforces no size or page limits, the request downloads and processes the target file in full. This exhausts disk space, CPU cycles, and network bandwidth on the crawler backend, degrading service for legitimate users. The vulnerability is classified under [CWE-400] Uncontrolled Resource Consumption.
Critical Impact
Unauthenticated network attackers can exhaust disk, CPU, and bandwidth on Crawl4AI workers by supplying oversized PDFs, producing sustained denial of service on shared infrastructure.
Affected Products
- Crawl4AI versions prior to 0.9.3
- Deployments exposing the PDFContentScrapingStrategy via HTTP POST endpoints
- Shared or multi-tenant Crawl4AI workers accepting untrusted client input
Discovery Timeline
- 2026-09-15 - CVE-2026-91941 published to NVD
- 2026-09-16 - Last updated in NVD database
Technical Details for CVE-2026-91941
Vulnerability Analysis
Crawl4AI is an open-source web crawling and scraping framework used to feed content into large language model pipelines. The PDFContentScrapingStrategy provides PDF-specific extraction logic that fetches remote documents and parses their contents. In versions before 0.9.3, this strategy accepts client-supplied URLs and downloads the referenced PDF without validating response size, page count, or transfer duration. A single POST request can therefore instruct a worker to pull a multi-gigabyte PDF from an attacker-controlled server.
The processing pipeline then attempts to parse the entire document, which drives sustained CPU usage and memory pressure. Repeated or concurrent requests amplify the effect across a shared worker pool. The EPSS probability for this issue is 0.379%.
Root Cause
The root cause is missing input and resource validation in the PDF scraping path. The strategy does not cap download bytes, enforce a maximum page count, apply a fetch timeout, or check the Content-Length header before streaming the response to disk. Without these controls, an attacker fully governs the resource footprint of each request.
Attack Vector
Exploitation requires only network access to a Crawl4AI endpoint that exposes the PDF strategy. The attacker submits a POST request specifying PDFContentScrapingStrategy and a URL pointing to a large or slowly served PDF. No authentication, user interaction, or elevated privileges are required. See the GitHub Security Advisory and the VulnCheck Denial of Service Advisory for advisory-level detail. No public exploit code is available in the referenced sources.
Detection Methods for CVE-2026-91941
Indicators of Compromise
- POST requests to Crawl4AI endpoints specifying PDFContentScrapingStrategy with external URLs pointing to unusually large files.
- Sustained outbound bandwidth from crawler workers toward a small number of remote hosts serving application/pdf responses.
- Rapid disk consumption in temporary or cache directories used by the PDF scraping pipeline.
Detection Strategies
- Inspect application logs for repeated invocations of the PDF scraping strategy from the same client identifier or source IP.
- Correlate worker CPU saturation and memory pressure events with concurrent PDF fetch operations.
- Alert on HTTP responses to the crawler whose Content-Length exceeds an operational threshold, or which lack a Content-Length header entirely.
Monitoring Recommendations
- Track per-request byte counts and processing duration for each scraping strategy and baseline normal ranges.
- Monitor free disk space on crawler nodes and page the on-call team when temporary storage crosses a defined threshold.
- Log the requesting principal, target URL, and resulting file size for every PDF scraping job to support post-incident review.
How to Mitigate CVE-2026-91941
Immediate Actions Required
- Upgrade Crawl4AI to version 0.9.3 or later on all workers exposing the PDF scraping strategy.
- Restrict network exposure of Crawl4AI endpoints to authenticated clients or trusted internal callers.
- Apply per-client rate limiting and concurrency caps on requests that select PDFContentScrapingStrategy.
Patch Information
The fix is available in Crawl4AI 0.9.3. Refer to the GitHub Security Advisory GHSA-v2rm-hvrj-2x9q for the maintainer's advisory and remediation guidance.
Workarounds
- Disable the PDF scraping strategy in deployments that do not require it until the upgrade is deployed.
- Place Crawl4AI behind a reverse proxy that enforces request size limits, response size limits, and fetch timeouts.
- Allowlist the set of remote hosts from which the crawler is permitted to download PDFs.
- Isolate PDF processing to dedicated workers with strict cgroup CPU, memory, and disk quotas to contain resource exhaustion.
# Configuration example
pip install --upgrade 'crawl4ai>=0.9.3'
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

