CVE-2026-53754High· 7.5▾ TwilightCrawl4AI: SSRF filter bypass in Docker server via IPv6 transition forms (NAT64 / 6to4 / unspecified / v4-mapped)
▾ Twilight zone — High severity, or a signal on a lesser flaw
impact 41.3 · likelihood 0.1 · exploitation 0
Need a working PoC? Pro members can cast a request and our team develops one — it lands right here.
Exploit-prediction probability, daily snapshots since Jul 4.
Disclosure to exploitation, from the record and what we observed since indexing it.
Disclosed via GHSA
0.3%
0.3% → 0.4%
The Docker API server's SSRF protection (validate_webhook_url / validate_url_destination in deploy/docker/utils.py) used an explicit IPv4/IPv6 CIDR blocklist that missed several address families. An attacker could reach internal services and cloud metadata endpoints (e.g. 169.254.169.254) despite the filter by encoding an internal IPv4 address inside an IPv6 transition form, or by using the IPv6 unspecified address.
Because the Docker API is unauthenticated by default (jwt_enabled: false), no credentials are required.
The blocklist was applied to crawl URLs (POST /crawl, /md, /html, /screenshot, /pdf, /execute_js) and webhook URLs (/crawl/job, /llm/job). All shared the same incomplete check.
The following all resolve to (or route to) blocked internal addresses but were NOT caught:
::64:ff9b::a9fe:a9fe (embeds 169.254.169.254)2002:a9fe:a9fe:: (embeds 169.254.169.254)::ffff:169.254.169.254::a9fe:a9feThe error message also echoed the resolved internal IP, acting as a minor DNS/oracle leak.
Server-Side Request Forgery: an unauthenticated attacker can make the server fetch internal-network URLs and cloud instance-metadata endpoints, potentially exposing internal services and cloud credentials.
The blocklist is replaced by a single rule: reject any resolved IP where not ip.is_global, evaluated on the address AND every embedded IPv4 transition form (v4-mapped, NAT64 64:ff9b::/96, 6to4 2002::/16, v4-compat ::/96). Error messages are now opaque and no longer echo the resolved IP.
CRAWL4AI_API_TOKEN).Internal security audit (Crawl4AI maintainers).
crawl4ai <= 0.8.7Upgrade to a patched release:
crawl4ai 0.8.8Connected by shared product, vendor, weakness, or advisory.
CVE-2026-56266Critical· 9.8Crawl4AI: Multiple Docker API Vulnerabilities - File Write, SSRF, Auth Bypass, XSS, JS Execution
GHSA-f989-c77f-r2cqHigh· 8.2Crawl4AI: LLM credential exfiltration in Docker server via request base_url and env: token resolution
CVE-2026-53755High· 8.6Crawl4AI: SSRF via proxy settings in the Docker server bypasses the crawl-URL SSRF check
GHSA-wm69-2pc3-rmmfHigh· 8.6Crawl4AI: Unauthenticated SSRF on the Docker server streaming crawl path (/crawl/stream)
CVE-2026-91943High· 7.7Crawl4AI before 0.9.3 contains a server-side request forgery vulnerability in PDFContentScrapingStrategy where _get_pdf_path() re-downloads targets with Python requests without egress validation
CVE-2026-56265Critical· 9.8Crawl4AI: authentication bypass vulnerability due to a hardcoded default JWT signing key in the Docker API server