Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-53755

CVE-2026-53755: Crawl4AI SSRF Vulnerability via Proxy

CVE-2026-53755 is a server-side request forgery flaw in Crawl4AI that allows attackers to bypass destination checks via proxy configurations and access internal services. This article covers technical details, affected versions, impact, and mitigation.

Published:

CVE-2026-53755 Overview

CVE-2026-53755 is a Server-Side Request Forgery (SSRF) vulnerability in Crawl4AI, an open-source LLM-friendly web crawler and scraper. The Docker API server applies its SSRF destination check only to the crawl target URL, not to the proxy address. An unauthenticated attacker can supply a proxy pointing at an internal IP and route the browser through it. This allows the attacker to reach internal services and cloud-metadata endpoints while supplying a valid crawl URL. The Docker API is unauthenticated by default, expanding the attack surface. The flaw is tracked under [CWE-918] and was fixed in Crawl4AI version 0.8.9.

Critical Impact

Unauthenticated attackers can pivot through the Crawl4AI Docker API to reach internal services and cloud-metadata endpoints such as AWS IMDS, leading to credential theft and lateral movement.

Affected Products

  • Crawl4AI Docker API server prior to 0.8.9
  • Deployments exposing /crawl, /crawl/stream, and /crawl/job endpoints
  • Any environment running Crawl4AI with default unauthenticated configuration

Discovery Timeline

  • 2026-06-23 - CVE-2026-53755 published to NVD
  • 2026-06-23 - Last updated in NVD database

Technical Details for CVE-2026-53755

Vulnerability Analysis

The vulnerability resides in the Crawl4AI Docker API server's request validation logic. The server validates that the crawl target URL does not point to internal or sensitive destinations. However, it does not apply the same destination check to the proxy configuration supplied alongside the crawl request. An attacker submits a request with a legitimate external crawl URL while configuring the proxy to point at an internal address. Chromium then routes its egress through the attacker-controlled proxy specification, reaching internal services that should be unreachable from the public interface.

Root Cause

The root cause is incomplete input validation on browser and crawler configuration fields. The SSRF guard checks only the target URL field and ignores proxy-related parameters. Multiple unchecked fields feed Chromium's egress configuration: browser_config.proxy_config.server, the deprecated browser_config.proxy, crawler_config.proxy_config.server, and the --proxy-server, --proxy-pac-url, --proxy-bypass-list, and --host-resolver-rules flags passed through browser_config.extra_args. Each of these fields bypasses the destination policy.

Attack Vector

The attack is network-based and requires no authentication or user interaction. An attacker sends a POST request to /crawl, /crawl/stream, or /crawl/job containing a benign external url and a browser_config with proxy_config.server set to an internal endpoint such as http://169.254.169.254 for AWS instance metadata. Chromium then issues requests through this proxy, returning responses from internal services in the crawl output. Attackers can enumerate internal networks, retrieve cloud IAM credentials, or interact with admin interfaces bound to localhost.

The vulnerability is described in prose because no verified proof-of-concept code is published. See the GitHub Security Advisory for full technical details.

Detection Methods for CVE-2026-53755

Indicators of Compromise

  • Inbound HTTP requests to Crawl4AI endpoints containing proxy_config, proxy, --proxy-server, --proxy-pac-url, or --host-resolver-rules fields referencing RFC1918 or link-local addresses.
  • Outbound connections from Crawl4AI Docker containers to 169.254.169.254, metadata.google.internal, or internal service ports.
  • Crawl results containing cloud IAM credentials, instance identity documents, or internal HTTP banners.

Detection Strategies

  • Inspect HTTP request bodies to Crawl4AI API endpoints for proxy-related keys and validate destination IP ranges.
  • Monitor container egress for connections to link-local and private address ranges that should not originate from a public crawler workload.
  • Correlate crawl job submissions with subsequent metadata service responses or unusual cross-VPC traffic patterns.

Monitoring Recommendations

  • Enable network flow logging on hosts running Crawl4AI and alert on egress to cloud metadata endpoints.
  • Audit Crawl4AI access logs for unauthenticated requests submitting proxy parameters.
  • Track Crawl4AI container image versions across the environment and flag deployments below 0.8.9.

How to Mitigate CVE-2026-53755

Immediate Actions Required

  • Upgrade Crawl4AI to version 0.8.9 or later, which applies SSRF destination checks to proxy configuration fields.
  • Place the Crawl4AI Docker API behind an authentication proxy and restrict network exposure to trusted clients.
  • Block egress from Crawl4AI workloads to RFC1918, loopback, and cloud metadata IP ranges using network policies or firewall rules.

Patch Information

The maintainers released a fix in Crawl4AI 0.8.9. The patch extends SSRF destination validation to cover browser_config.proxy_config.server, the deprecated browser_config.proxy, crawler_config.proxy_config.server, and the Chromium proxy flags within browser_config.extra_args. Refer to the GitHub Security Advisory GHSA-6qhc-x826-342c for full release notes.

Workarounds

  • If immediate upgrade is not feasible, deploy a reverse proxy that strips proxy-related keys from incoming JSON request bodies before forwarding to Crawl4AI.
  • Enforce IMDSv2 on AWS workloads to require session tokens that the proxied browser cannot easily obtain.
  • Run Crawl4AI in a network namespace with no route to internal subnets or metadata endpoints.
bash
# Block cloud metadata access from the Crawl4AI container
iptables -I OUTPUT -d 169.254.169.254 -j DROP
iptables -I OUTPUT -d 127.0.0.0/8 -j DROP
iptables -I OUTPUT -d 10.0.0.0/8 -j DROP
iptables -I OUTPUT -d 172.16.0.0/12 -j DROP
iptables -I OUTPUT -d 192.168.0.0/16 -j DROP

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.