Critical Crawl4AI Docker API flaws enabled unauthenticated RCE and file abuse
Crawl4AI disclosed critical vulnerabilities in its Docker API server affecting versions 0.8.6 and earlier, including an AST sandbox escape in the computed fields feature that allowed unauthenticated remote code execution through the /crawl endpoint. The flaw let attackers abuse Python generator and frame attributes such as gi_frame, f_back, and f_builtins to reach __import__ and run arbitrary OS commands inside the container. Additional reported weaknesses in the network-exposed API included unsafe code execution controls, server-side request forgery, missing authentication protections, hardcoded credentials, and improper path sanitization affecting endpoints including /screenshot, /pdf, /crawl, and /execute_js.
The project patched the issues in version 0.8.7 by removing eval() from the computed-field execution path, replacing the prior underscore-based attribute blocklist with a stricter allowlist, tightening _safe_eval_config, and removing dangerous built-ins from the hook manager. The update also added path validation to stop traversal-style file writes and introduced adversarial security tests covering the reported exploit chains. Maintainers advised users to upgrade immediately, enable JWT authentication with CRAWL4AI_API_TOKEN, configure secrets securely, restrict network exposure of the Docker API, and disable JavaScript execution where it is not required.

Get ahead of threats like this
Mallory correlates global threat intelligence with your attack surface — know if you’re exposed before adversaries strike.
How this story unfolded
3 events from the most recent confirmed update back to the earliest known activity.
Report details multiple Crawl4AI Docker API vulnerabilities
A later report described multiple critical and high-severity vulnerabilities in Crawl4AI Docker API server versions 0.8.6 and earlier, including path sanitization flaws, missing authentication dependencies, hardcoded credentials, SSRF, and unsafe code execution controls. It noted that version 0.8.7 added path validation to block traversal patterns and highlighted exposed endpoints such as `/screenshot`, `/pdf`, `/crawl`, and `/execute_js`.
GitHub advisory discloses pre-auth RCE in Crawl4AI Docker API
A GitHub security advisory disclosed that Crawl4AI versions 0.8.6 and earlier contained a critical sandbox escape in computed fields that allowed unauthenticated remote code execution through crafted requests to `/crawl`. The advisory said the issue was fixed by removing `eval()` from the computed field path, hardening `/config/dump` handling, and tightening the hook manager sandbox.
Security hardening patch merged for Crawl4AI sandbox escape
A pull request introduced fixes to harden `_safe_eval_expression` against sandbox escapes by replacing the underscore-prefix blocklist with an attribute allowlist and restricting exploit primitives such as lambdas, generators, comprehensions, and subscript-based calls. Follow-up changes also removed `eval()` from computed fields, hardened `_safe_eval_config`, removed dangerous built-ins from the hook manager, and added adversarial security tests.
Sources
3 references tracked. Mallory keeps watching after this page renders.
GHSA-365W-HQF6-VXFG: GHSA-365w-hqf6-vxfg: Multiple Critical Vulnerabilities in Crawl4AI Docker API Server | CVEReports
cvereports.com
Open sourceAST Sandbox Escape via gi_frame.f_back Chain - Pre-Auth RCE in Docker API · Advisory · unclecode/crawl4ai · GitHub
github.com
Open sourcefix(security): harden _safe_eval_expression with attribute allowlist by ntohidi · Pull Request #1886 · unclecode/crawl4ai · GitHub
github.com
Open sourceSee the full picture, correlated to your attack surface.
Map indicators from this story to your assets and identify affected systems in minutes.
Every observed campaign, victim, and pivot linked to actors named in this story.
Malware, exploits, and IOCs connected to the activity described here.
YARA, Sigma, and Snort rules deployed to your SIEM as soon as they’re published.
Get matching new stories delivered to your team as they break — not the next morning.
Ask questions about this story and take action on the answers.


