HIGH 8.6

CVE-2026-53755: Crawl4AI SSRF via Unvalidated Proxy Configuration

Crawl4AI is a web crawler tool designed to work well with AI language models. In versions before 0.8.9, the Docker-based API server had a critical flaw: it blocked requests trying to crawl internal IP addresses, but this protection didn't apply to proxy servers. An attacker could send a normal-looking crawl request that appears to target a legitimate external website, but configure a proxy to route the traffic through internal networks or cloud metadata services. Since the Docker API requires no authentication by default, anyone with network access could exploit this to discover internal services or steal cloud credentials.

Source data · NVD / CISA · public domain

CVSS
3.1 · 8.6 HIGH · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N
Weaknesses (CWE)
CWE-918
Affected products
1 configuration(s)
Published / Modified
2026-06-23 / 2026-06-29

NVD description (verbatim)

Crawl4AI is an open-source LLM friendly web crawler & scraper. Prior to 0.8.9, the Docker API server applied its SSRF destination check to the crawl target URL only, not to the proxy address. An unauthenticated request could supply a proxy pointing at an internal IP and route the browser through it, reaching internal services and cloud-metadata endpoints, while using a perfectly valid crawl URL. The Docker API is unauthenticated by default. /crawl, /crawl/stream, and /crawl/job accept a browser_config (and crawler_config). The following all feed Chromium's egress and were unchecked: browser_config.proxy_config.server, browser_config.proxy (deprecated field), crawler_config.proxy_config.server, and --proxy-server / --proxy-pac-url / --proxy-bypass-list / --host-resolver-rules flags in browser_config.extra_args. This vulnerability is fixed in 0.8.9.

1 reference(s) · View on NVD →

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

Technical summary

CVE-2026-53755 is a Server-Side Request Forgery (SSRF) vulnerability in Crawl4AI's Docker API. The vulnerability stems from incomplete input validation: the application correctly validates the crawl target URL against an SSRF blocklist, but fails to apply the same validation to proxy configuration parameters. Multiple code paths allow proxy configuration: the browser_config.proxy_config.server field, the deprecated browser_config.proxy field, crawler_config.proxy_config.server, and Chromium command-line flags (--proxy-server, --proxy-pac-url, --proxy-bypass-list, --host-resolver-rules) passed via browser_config.extra_args. All of these routes bypass SSRF checks and allow an unauthenticated user to redirect traffic through attacker-controlled or internal proxies. The vulnerability affects the /crawl, /crawl/stream, and /crawl/job API endpoints.

Business impact

Organizations using Crawl4AI to ingest web data for LLM training or retrieval pipelines face exposure of internal network topology, cloud metadata endpoints, and potentially sensitive service credentials. In cloud environments, this is particularly dangerous: attackers can reach AWS EC2 metadata, Google Cloud GCP metadata servers, or Kubernetes API endpoints to extract temporary credentials, service account tokens, or configuration data. The unauthenticated nature of the default Docker deployment means any network-adjacent actor can trigger exploitation without prior access or credentials.

Affected systems

Crawl4AI versions prior to 0.8.9 are affected. The vulnerability exists only in the Docker API server deployment model; it does not apply to non-containerized installations. Any deployment exposing the API endpoints (/crawl, /crawl/stream, /crawl/job) over a network without authentication proxies or network segmentation is at risk. This includes development environments, internal tools, and any CI/CD pipelines that use Crawl4AI for automated data collection.

Exploitability

Exploitability is very high. The attack requires no authentication, no user interaction, and minimal network access. An attacker can craft a simple HTTP POST request with a legitimate-looking crawl URL paired with a malicious proxy configuration. The request succeeds immediately without alerting operators that something is wrong—the crawl appears normal from a log perspective. No specialized tools or reverse engineering are needed. The CVSS 3.1 score of 8.6 reflects the severity: network-accessible, unauthenticated, low complexity, and high impact on confidentiality (ability to reach internal services and metadata).

Remediation

Upgrade Crawl4AI to version 0.8.9 or later. This release includes SSRF validation that now applies to all proxy-related configuration parameters, not just the crawl target URL. After patching, validate that your Crawl4AI containers are using the updated image. If the API must remain accessible from untrusted networks, implement network segmentation, firewall rules to block internal CIDR ranges, or add an authentication/authorization layer (e.g., reverse proxy with credential checks) in front of the API.

Patch guidance

Update the Crawl4AI Docker image to 0.8.9 or later. Verify the update by checking the running container's version (inspect the image tag or query the API if a version endpoint exists). Redeploy containers to pick up the patched version. If you've pinned specific SHA256 image digests, update those pins to the latest 0.8.9 release digest from the vendor's registry. Test the update in a staging environment to confirm your crawl workloads still function correctly—the patch should not change API behavior for legitimate use cases.

Detection guidance

Look for HTTP POST requests to /crawl, /crawl/stream, or /crawl/job endpoints that include proxy configuration parameters (proxy_server, proxy_config, proxy, or extra_args containing --proxy-* flags). Flag requests where the crawl URL is a well-known external domain but the proxy field points to internal IP ranges (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16), localhost addresses, or cloud metadata endpoints (169.254.169.254 for AWS, metadata.google.internal for GCP). Monitor for unusual network egress from the Crawl4AI container reaching internal services or metadata endpoints. Enable access logging on the Docker API if available to capture request bodies.

Why prioritize this

This vulnerability merits immediate remediation due to its high CVSS score (8.6), lack of authentication requirements, and direct exposure of cloud credentials and internal infrastructure in typical deployment scenarios. Organizations using Crawl4AI in cloud environments are at highest risk of credential theft. Even a single unpatched instance can compromise cloud accounts or internal service access.

Risk score, explained

The CVSS 3.1 score of 8.6 (HIGH) reflects: (1) Network-accessible attack vector with no authentication required; (2) Low attack complexity—a simple HTTP request suffices; (3) Wide scope—an attacker can reach any internal service or metadata endpoint reachable from the container; (4) High confidentiality impact through information disclosure (internal IPs, service banners, credentials from metadata endpoints); (5) No integrity or availability impact from this particular flaw. The score does not account for the likelihood of widespread unpatched deployments in development or internal environments, which would further elevate real-world risk.

Frequently asked questions

Does this vulnerability require authentication to exploit?

No. The Crawl4AI Docker API is unauthenticated by default. Any attacker with network access to the API endpoints can trigger the vulnerability without credentials.

If I'm using Crawl4AI in a local development environment not exposed to the internet, am I at risk?

Risk depends on your network topology. If the container is isolated to localhost and only accessed by trusted local processes, the exposure is low. However, if the container is reachable from other machines on your corporate network or CI/CD infrastructure, you are at risk from compromised or malicious internal actors.

Can this vulnerability be exploited to run arbitrary code or modify my application?

No. This is a confidentiality-only vulnerability. It allows attackers to read data from internal services and cloud metadata, but not to execute code or alter data. However, stolen credentials from metadata endpoints could enable follow-on attacks.

What's the difference between a crawl URL and a proxy in this context?

The crawl URL is the website you ask Crawl4AI to visit (e.g., example.com). The proxy is an optional intermediary server that all traffic routes through. The bug allows the proxy setting to bypass security checks, so attackers supply a valid external crawl URL but route it through an internal proxy to reach internal services instead.

This analysis is for informational purposes and reflects publicly available vulnerability data as of the publication date. No exploit code or detailed attack instructions are provided. Organizations should verify patch availability and compatibility with their specific Crawl4AI deployment before applying updates. This is not a substitute for professional security assessment or vendor guidance. Always consult the official Crawl4AI repository and your cloud provider's security advisories for the most current information. Source: NVD (public-domain), retrieved 2026-07-29. Analysis generated by SEC.co (claude-haiku-4-5).