HIGH 8.1

CVE-2026-56264: Crawl4AI Arbitrary JavaScript Execution Vulnerability

Crawl4AI, a web scraping and automation tool, contains a critical flaw in versions before 0.8.7 that allows attackers to execute arbitrary JavaScript code on the server. The vulnerability exists in the /execute_js endpoint of the Docker API server, which was designed to run JavaScript but does so without proper security controls. Because the underlying browser runs with disabled security protections (--disable-web-security), an attacker can not only run malicious scripts but also abuse the server to attack internal systems on the network that it can reach—a technique known as server-side request forgery (SSRF).

Source data · NVD / CISA · public domain

CVSS
3.1 · 8.1 HIGH · CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Weaknesses (CWE)
CWE-94
Affected products
1 configuration(s)
Published / Modified
2026-06-30 / 2026-07-06

NVD description (verbatim)

Crawl4AI before 0.8.7 contains an arbitrary JavaScript execution vulnerability in the Docker API server's /execute_js endpoint, which accepts and executes arbitrary user-supplied JavaScript in the server's browser context with --disable-web-security enabled. An attacker can execute arbitrary JavaScript and, combined with the browser's relaxed security settings, perform server-side request forgery against internal services.

3 reference(s) · View on NVD →

SEC.co analysis · AI-assisted, reviewed against source

Technical summary

The Docker API server in Crawl4AI exposes an /execute_js endpoint that accepts user-supplied JavaScript payloads and executes them in a browser context running with the --disable-web-security flag. This configuration disables critical browser security policies, including Same-Origin Policy and Cross-Origin Resource Sharing restrictions. An unauthenticated attacker can send arbitrary JavaScript to this endpoint over the network (AV:N), craft payloads that perform SSRF attacks against internal services, and potentially extract sensitive data or interact with backend systems. The vulnerability is classified under CWE-94 (Improper Control of Generation of Code), reflecting inadequate input validation and execution context isolation.

Business impact

Organizations using Crawl4AI in containerized environments face significant risk. A compromised or malicious actor with network access to the Docker API server can execute code in the server's context, potentially allowing lateral movement to internal systems, data exfiltration from backend services, and disruption of web scraping operations. If Crawl4AI is used in production pipelines or integrated with sensitive data collection workflows, the impact extends to confidentiality, integrity, and availability of dependent business processes.

Affected systems

Crawl4AI versions prior to 0.8.7 are affected. The Docker API server endpoint is the attack surface; exposure depends on network architecture. Instances exposed to untrusted networks or the public internet are at immediate risk. Internal deployments behind firewalls are also vulnerable to insider threats or compromised services on the same network.

Exploitability

Exploitation requires network access to the /execute_js endpoint but no authentication or user interaction. The attack complexity is rated as high, likely due to the need to craft effective SSRF payloads or other secondary exploits that depend on the target environment's internal topology. However, the barrier to initial code execution is low—a simple HTTP POST with a JavaScript payload is sufficient. The lack of KEV status suggests no active mass exploitation has been documented, but the ease of triggering JavaScript execution makes this a high-confidence vulnerability for determined attackers.

Remediation

Upgrade Crawl4AI to version 0.8.7 or later. The patch addresses the arbitrary JavaScript execution vulnerability, likely by implementing input validation, sandboxing, enabling browser security policies, or restricting the /execute_js endpoint. After patching, verify that the Docker API server is not exposed to untrusted networks and implement network segmentation to limit access to the API.

Patch guidance

Update Crawl4AI to 0.8.7 or higher. Coordinate the upgrade in your deployment pipeline, test thoroughly in a staging environment to ensure backward compatibility with your scraping scripts, and validate that security policies are re-enabled after the patch. During the upgrade window, monitor for anomalous API activity. If immediate patching is not feasible, isolate affected Docker API servers to trusted networks only.

Detection guidance

Monitor logs for POST requests to the /execute_js endpoint, especially from unexpected sources or with suspicious JavaScript payloads (keywords: fetch, XMLHttpRequest, eval, eval-like functions, setTimeout with code strings). Detect SSRF indicators: requests from the Crawl4AI container to unusual internal IP ranges, localhost, or private service endpoints (169.254.x.x, 10.x.x.x, 172.16-31.x.x, 192.168.x.x). Correlate API logs with network traffic analytics. Alert on any payload attempting to interact with AWS metadata services (169.254.169.254) or Kubernetes API servers.

Why prioritize this

This vulnerability merits prompt patching due to its high CVSS score (8.1), unauthenticated attack vector, and ease of exploitation. The combination of arbitrary code execution and disabled security policies creates a direct path to lateral movement and data exfiltration. Organizations should prioritize patch deployment based on network exposure: public-facing or internally shared Docker API servers should be treated as critical, while isolated or air-gapped deployments can follow standard maintenance windows.

Risk score, explained

The CVSS 3.1 score of 8.1 (HIGH) reflects: network-accessible attack vector (AV:N), high impact on confidentiality and integrity (C:H, I:H), availability impact from potential denial-of-service via resource exhaustion (A:H), and no privilege requirements (PR:N). The attack complexity is rated high (AC:H), likely because effective exploitation requires understanding the target's internal network topology and crafting context-specific SSRF payloads. Despite AC:H, the base code execution capability and lack of authentication keep the overall risk high.

Frequently asked questions

Should we disable the /execute_js endpoint if we cannot patch immediately?

Yes. If you cannot upgrade to 0.8.7 promptly, disable or restrict network access to the /execute_js endpoint using firewall rules or reverse proxy configuration. Limit API access to internal, trusted IPs only. This reduces exposure while you plan the patch deployment.

Does this vulnerability require the Docker API server to be exposed to the internet?

No. While internet exposure significantly increases risk, the vulnerability is exploitable from any network path that can reach the Docker API server—including internal networks if an attacker has a foothold elsewhere or is a malicious insider. Network segmentation is essential.

Can we safely use older versions of Crawl4AI if we run it in an isolated environment?

Isolation reduces risk but does not eliminate it. A compromised Crawl4AI instance can still be used as a pivot point to attack internal services. Patching is the recommended approach; if you must delay, ensure strict network controls and monitor activity closely.

What does 'disabled web security' mean in this context?

The --disable-web-security flag in Chromium-based browsers disables Same-Origin Policy, Content Security Policy, and CORS restrictions. This was likely enabled for certain web scraping tasks but exposes the server to SSRF and allows JavaScript to make requests that would normally be blocked. The fix likely re-enables these protections or implements server-side request filtering.

This analysis is based on the published CVE details and vendor information available as of the modification date (2026-07-06). Specific patch contents, version compatibility, and remediation steps should be verified against the official Crawl4AI security advisory and release notes. This document does not constitute security advice for your specific environment; conduct your own risk assessment based on your deployment architecture and data sensitivity. No exploit code or weaponized proof-of-concept is provided. Always test patches in a non-production environment before deployment. Source: NVD (public-domain), retrieved 2026-08-09. Analysis generated by SEC.co (claude-haiku-4-5).