Skip to main content

Crawl4AI CVE-2026-56258

| EUVDEUVD-2026-38432 CRITICAL
Path Traversal (CWE-22)
2026-06-23 VulnCheck GHSA-wx2c-3cp2-f6qw
9.2
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Recon
    Discover exposed Crawl4AI Docker API
  2. Delivery
    Pre-stage symlink inside ALLOWED_OUTPUT_DIR
  3. Exploit
    POST /screenshot with crafted output_path
  4. Install
    Win TOCTOU race against validate_output_path
  5. C2
    Write payload to cron or executable path
  6. Execute
    Wait for scheduler or invocation
  7. Impact
    Execute code as container user

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

Target must be a Crawl4AI Docker API server <= 0.8.7 exposing the POST /screenshot or POST /pdf endpoints with the default unauthenticated configuration (CRAWL4AI_API_TOKEN unset). The attacker must supply an output_path inside ALLOWED_OUTPUT_DIR where a symlink can be planted or a TOCTOU race won against validate_output_path; reaching code execution additionally requires that the container's runtime user have write permission to an executable or cron location (e.g., /etc/cron.d/, a binary on PATH), so hardened deployments running as an unprivileged user with a read-only root filesystem are limited to arbitrary writes within writable mounts rather than RCE. CVSS AC:H/AT:P reflects the symlink-staging and race-window requirements that limit reliability.

Impact

CVSS 4.0 of 9.2 (AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H) reflects an unauthenticated network-reachable write with high attack complexity and a present attack requirement - the attacker must win a TOCTOU race or pre-position a symlink, which is non-trivial but feasible against a long-lived container. Exploitation impact is conditional: it only reaches code execution where the runtime user can write to executable or cron locations, so hardened containers (non-root, read-only rootfs) materially reduce real risk even before patching. No EPSS, KEV, or POC data was provided, so this should be treated as no public exploit identified at time of analysis despite the high CVSS; the unauthenticated-by-default posture and the fact that VulnCheck published an advisory raise priority for any internet-exposed Crawl4AI Docker deployment.

Exploit ScenarioDerived

An attacker reachable to an unauthenticated Crawl4AI Docker server sends repeated POST /screenshot or POST /pdf requests with an output_path that points through a directory the attacker can race or pre-symlink, swapping in a symlink targeting /etc/cron.d/ or a binary the runtime user can overwrite. Winning the TOCTOU race between validate_output_path and the open() call writes attacker-controlled image/PDF bytes outside ALLOWED_OUTPUT_DIR; on hosts where the container runs as a user with write access to executable or cron paths, this yields code execution at the next scheduler tick. No public POC has been identified at time of analysis.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 0.7% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jun 23, 2026

Arbitrary file write in Crawl4AI Docker API server before 0.8.8 lets unauthenticated remote attackers escape the ALLOWED_OUTPUT_DIR via symlinks and a TOCTOU race on the output_path parameter of the /screenshot and /pdf endpoints, potentially escalating to code execution where the runtime user can write to executable or cron paths. No public exploit identified at time of analysis, but the API is unauthenticated by default and the GHSA confirms the issue was found in an internal security audit.

RemediationAI

Vendor-released patch: upgrade pip package crawl4ai to 0.8.8 or later, which resolves the real path of the output_path parent, re-checks containment after symlink resolution, and writes with O_NOFOLLOW (see PR https://github.com/unclecode/crawl4ai/pull/3 and advisory https://github.com/unclecode/crawl4ai/security/advisories/GHSA-7cx2-g3h9-382p). If immediate upgrade is not possible, enable authentication by setting CRAWL4AI_API_TOKEN - this closes unauthenticated access but will break any existing clients that do not send the token - and run the container with a read-only root filesystem to neutralize the write-to-execute primitive, which may break other features that expect writable paths outside ALLOWED_OUTPUT_DIR. As a network-level control, restrict ingress to /screenshot and /pdf endpoints to trusted internal callers only until the upgrade is applied.

Affected VersionsENISA

Crawl4AI 0 <0.8.8

Affected Packages

pypi crawl4ai fix: 0.8.8

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 a Python web-crawling/scraping framework (pip package crawl4ai) commonly run via its Docker API server. The vulnerable validate_output_path function in 0.8.7 performed string-only containment checks against ALLOWED_OUTPUT_DIR without resolving symlinks, and the subsequent open() call followed symlinks, producing the classic CWE-22 path traversal pattern combined with a CWE-367 TOCTOU race between validation and write. The 0.8.8 fix resolves the parent's real path, re-checks containment, and writes with O_NOFOLLOW via a new write_output_file helper. The CPE cpe:2.3:a:crawl4ai:crawl4ai:*:*:* covers all versions up to and including 0.8.7.

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

Vendor (VulnCheck) PRIMARY 9.2 CRITICAL
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 8.1 HIGH

Unauthenticated network endpoint (AV:N/PR:N), but exploitation requires winning a TOCTOU race and symlink staging (AC:H); arbitrary write enables full host compromise when runtime user can write executables.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
High
Attack Requirements
Present
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

1
Patch available
Jun 23, 2026 - 14:17 EUVD

DescriptionCVE.org

Crawl4AI before 0.8.8 contains an arbitrary file write vulnerability in the screenshot and PDF endpoints that allows unauthenticated attackers to write files outside the intended directory via symlink and time-of-check-time-of-use (TOCTOU) attacks on the output_path parameter. Remote attackers can exploit insufficient path validation and symlink following to achieve arbitrary file write and potential code execution on systems where the runtime user has write access to executable or cron locations.

Executive ViewAI

Why It Matters

Crawl4AI Docker API server (versions before 0.8.8) contains a critical arbitrary file write vulnerability enabling unauthenticated remote attackers to bypass directory restrictions and potentially achieve code execution. The API is unauthenticated by default, creating significant risk for any organization exposing this service to untrusted networks. No vendor-released patch identified at time of analysis, requiring immediate interim containment measures.

Business Impact: Severe
Compensating Controls

Restrict network access via firewall rules or VPN to trusted networks only; disable /screenshot and /pdf endpoints if not operationally critical; run containers with minimal filesystem permissions and remove write access to executable directories and system cron paths; implement file integrity monitoring on output directories; place the API behind an authenticating reverse proxy; monitor system logs for unexpected file write activity in restricted paths.

Threat Intelligence Overview

EPSS Score
0.7%
Top 53% exploitable
Prevalence
Low
niche open-source AI crawler, limited production footprint
Social Media
1
Sightings
Data Quality
6 sources
Confidence: High

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.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC No
EPSS 0.7%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
Very High
Technical Impact
Total

Priority Score

47
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +46
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

CVE-2026-26216 CRITICAL POC
10.0 Feb 12

Remote code execution in Crawl4AI Docker API before 0.8.0 via hooks parameter. The /crawl endpoint accepts Python code i

CVE-2026-56265 CRITICAL POC
9.3 Jun 21

Authentication bypass in Crawl4AI Docker API server (versions prior to 0.8.7) allows remote unauthenticated attackers to

CVE-2026-26217 CRITICAL POC
9.2 Feb 12

Arbitrary local file disclosure in Crawl4AI's Docker API (versions before 0.8.0) lets unauthenticated remote attackers r

CVE-2026-57572 CRITICAL
10.0 Jul 06

Remote code execution in Crawl4AI's Docker API server (versions prior to 0.9.0) lets unauthenticated attackers run arbit

CVE-2026-57571 CRITICAL
9.6 Jul 06

Arbitrary file write in Crawl4AI (the open-source LLM-friendly web crawler by unclecode) before version 0.9.0 lets a mal

CVE-2026-56264 CRITICAL
9.2 Jun 30

Arbitrary JavaScript execution in Crawl4AI's Docker API server (versions before 0.8.7) lets remote attackers submit code

CVE-2026-56261 CRITICAL
9.2 Jul 10

Server-side request forgery in Crawl4AI's Docker API server (versions before 0.8.7) allows remote unauthenticated attack

CVE-2026-109238 CRITICAL
9.2 Oct 12

Server-side request forgery in Crawl4AI (unclecode) versions 0.7.0 through 0.9.3 lets unauthenticated, remote API client

CVE-2026-56266 CRITICAL
9.2 Jun 22

Server-side request forgery in Crawl4AI before 0.8.7 allows unauthenticated remote attackers to coerce the server into f

CVE-2025-28197 CRITICAL
9.1 Apr 18

Crawl4AI <=0.4.247 is vulnerable to SSRF in /crawl4ai/async_dispatcher.py. Rated critical severity (CVSS 9.1), this vuln

CVE-2026-56260 HIGH
8.8 Jul 12

Arbitrary file write in Crawl4AI's Docker API server (versions before 0.8.7) lets remote unauthenticated attackers overw

CVE-2026-56259 HIGH
8.8 Jul 12

Credential exfiltration in Crawl4AI's Docker API server (all versions before 0.8.8) lets remote unauthenticated attacker

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy