Crawl4AI
CVE-2026-26217
CRITICAL
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessLocate exposed Crawl4AI Docker API
-
DeliveryPOST endpoint with file:// URL
-
ExploitServer reads local file
-
ExecutionReturn /etc/passwd, configs, /proc/self/environ
-
PersistHarvest credentials and API keys
-
ImpactPivot to backend systems
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK
2 techniques across 2 tactics: Discovery, Collection The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires only network reachability to a Crawl4AI instance deployed via its Docker API with the /execute_js, /screenshot, /pdf, or /html endpoints exposed; no authentication, user interaction, or special client privilege is needed (CVSS PR:N/UI:N/AC:L). The concrete prerequisite is that the Docker API deployment mode is enabled and the endpoints are network-accessible to the attacker - a library-only or non-Docker usage without these HTTP endpoints exposed is not affected. Exploitation is limited to reading files the container process can access (confidentiality only; no write or code execution), and is constrained by whatever network segmentation or authentication proxy sits in front of the API; an internet-exposed, unauthenticated Docker API is the worst case. |
| Impact | Signals are largely consistent for a serious but scope-limited (confidentiality-only) flaw. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N, VC:H, SC:H, VI/VA:N) and score 9.2 correctly reflect trivial unauthenticated network exploitation with high confidentiality impact and no integrity/availability impact - this is information disclosure, not code execution. EPSS is low (0.06%, 19th percentile) and the CVE is NOT in CISA KEV, so there is no evidence of widespread or automated exploitation; the low EPSS is plausibly driven by the product's niche footprint rather than by difficulty, since the technique itself is trivial and a copy-paste request is published in the advisory. Net: for any environment actually running the Crawl4AI Docker API exposed to untrusted networks this is a high, real priority (instant credential/secret theft), but the population of exposed instances is small, so it is not a mass-exploitation candidate. No SSVC decision record was provided in the input. |
| Exploit ScenarioDerived | An attacker who can reach the exposed Crawl4AI Docker API sends POST /execute_js with {"url":"file:///etc/passwd"} (or file:///proc/self/environ), and the server returns the file contents in the rendered response. Repeating this against application config files and /proc/self/environ yields database credentials and API keys, which are then reused to pivot into backend systems. A working request is published in the GHSA advisory, so no exploit development is needed. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv2 – Jul 14, 2026
Arbitrary local file disclosure in Crawl4AI's Docker API (versions before 0.8.0) lets unauthenticated remote attackers read any file on the server by supplying file:// URLs to the /execute_js, /screenshot, /pdf, and /html endpoints. Because the API validates no scheme, an attacker can exfiltrate /etc/passwd, /etc/shadow, application config, and process environment via /proc/self/environ - directly exposing credentials and API keys. Publicly documented in GitHub advisory GHSA-vx9w-5cx4-9796 with a working request example; no public exploit identified as active exploitation, and EPSS is low (0.06%, 19th percentile).
Earlier versions of this analysis (1)
Crawl4AI versions prior to 0.8.0 contain a local file inclusion vulnerability in the Docker API deployment. The /execute_js, /screenshot, /pdf, and /html endpoints accept file:// URLs, allowing unauthenticated remote attackers to read arbitrary files from the server filesystem. [CVSS 8.6 HIGH]
RemediationAI
Vendor-released patch: upgrade Crawl4AI to 0.8.0 or later, which fixes the file:// handling per GHSA-vx9w-5cx4-9796 and the v0.8.0 release notes. If immediate upgrade is not possible, apply the vendor's documented workarounds: disable the Docker API entirely where it is not required (removes the exposure but breaks any programmatic rendering integrations); place authentication in front of the API (mitigates unauthenticated abuse but does not stop an authenticated insider or a leaked token); and enforce network-level filtering so the API port is reachable only from trusted hosts (reduces internet exposure but does not address same-network attackers). Where the API must stay reachable, additionally block or reject requests whose url parameter uses the file:// scheme or references /proc paths at a proxy layer, accepting that this is a fragile stopgap versus the 0.8.0 fix.
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in pypi
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Crawl4AI is an open-source LLM-oriented web crawler/scraper (Python package pip/crawl4ai, CPE cpe:2.3:a:kidocode:crawl4ai) that ships a Dockerized HTTP API for headless browsing and rendering. The vulnerability is CWE-22 (Improper Limitation of a Pathname to a Restricted Directory / path traversal) manifesting as classic Local File Inclusion / SSRF-to-file-read: the URL parameter accepted by the rendering endpoints is passed to the underlying browser fetch layer without restricting the URI scheme, so file:// (and pseudo-files like /proc/self/environ) resolve against the container filesystem instead of being limited to http/https remote targets. The root cause is missing scheme allow-listing on user-supplied fetch targets.
Know when Crawl4ai gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N
Unauthenticated network file read (AV:N/AC:L/PR:N/UI:N); reading OS files beyond the app's authority is a scope change (S:C) with high confidentiality but no integrity/availability impact.
Primary rating from Vendor (vulncheck).
CVSS VectorVendor: vulncheck
Lifecycle Timeline
5DescriptionCVE.org
Crawl4AI versions prior to 0.8.0 contain a local file inclusion vulnerability in the Docker API deployment. The /execute_js, /screenshot, /pdf, and /html endpoints accept file:// URLs, allowing unauthenticated remote attackers to read arbitrary files from the server filesystem. An attacker can access sensitive files such as /etc/passwd, /etc/shadow, application configuration files, and environment variables via /proc/self/environ, potentially exposing credentials, API keys, and internal application structure.
Executive ViewAI
Crawl4AI Docker API versions before 0.8.0 allow unauthenticated remote attackers to read arbitrary files on the server, directly exposing credentials, API keys, and application configuration. Any organization running affected versions with internet-facing API endpoints faces immediate credential compromise and potential lateral movement attacks.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.
Affected Products (CPE)CVE.org
Remote code execution in Crawl4AI Docker API before 0.8.0 via hooks parameter. The /crawl endpoint accepts Python code i
Authentication bypass in Crawl4AI Docker API server (versions prior to 0.8.7) allows remote unauthenticated attackers to
Remote code execution in Crawl4AI's Docker API server (versions prior to 0.9.0) lets unauthenticated attackers run arbit
Arbitrary file write in Crawl4AI (the open-source LLM-friendly web crawler by unclecode) before version 0.9.0 lets a mal
Arbitrary file write in Crawl4AI Docker API server before 0.8.8 lets unauthenticated remote attackers escape the ALLOWED
Arbitrary JavaScript execution in Crawl4AI's Docker API server (versions before 0.8.7) lets remote attackers submit code
Server-side request forgery in Crawl4AI's Docker API server (versions before 0.8.7) allows remote unauthenticated attack
Server-side request forgery in Crawl4AI (unclecode) versions 0.7.0 through 0.9.3 lets unauthenticated, remote API client
Server-side request forgery in Crawl4AI before 0.8.7 allows unauthenticated remote attackers to coerce the server into f
Crawl4AI <=0.4.247 is vulnerable to SSRF in /crawl4ai/async_dispatcher.py. Rated critical severity (CVSS 9.1), this vuln
Arbitrary file write in Crawl4AI's Docker API server (versions before 0.8.7) lets remote unauthenticated attackers overw
Credential exfiltration in Crawl4AI's Docker API server (all versions before 0.8.8) lets remote unauthenticated attacker
GHSA-vx9w-5cx4-9796
NVD
CVE.org
EPSS
VulDB
Exploit-DB