Detect Crawl4AI Docker API Multiple Critical Vulnerabilities (File Write, SSRF, Auth Bypass, XSS, JS Execution) in IBM QRadar
Detects exploitation of CVE-2026-56266 affecting Crawl4AI <= 0.8.6 Docker API. The vulnerability bundle includes unauthenticated access (CWE-306), path traversal file write (CWE-22), server-side request forgery (CWE-918), stored/reflected XSS (CWE-79), JavaScript injection/execution (CWE-94), and hardcoded credentials (CWE-798). A public PoC is available. Successful exploitation allows full container compromise, internal network pivoting, and arbitrary file write to the host.
MITRE ATT&CK
QRadar Detection Query
SELECT
sourceip,
destinationip,
destinationport,
URL,
"Request Method" AS http_method,
"Response Code" AS http_status,
COUNT(*) AS event_count,
MIN(starttime) AS first_seen,
MAX(starttime) AS last_seen,
CASE
WHEN URL ILIKE '%../%' OR URL ILIKE '%..\\%' OR URL ILIKE '%2e2e%' OR URL ILIKE '%252e%' THEN 'PathTraversal'
WHEN URL ILIKE '%169.254.169.254%' THEN 'SSRF-CloudMetadata'
WHEN URL ILIKE '%file://%' OR URL ILIKE '%gopher://%' THEN 'SSRF-AltScheme'
WHEN URL ILIKE '%127.0.0.1%' OR URL ILIKE '%localhost%' THEN 'SSRF-Loopback'
WHEN URL ILIKE '%execute_js%' THEN 'JSCodeExecution'
WHEN URL ILIKE '%<script%' OR URL ILIKE '%javascript:%' OR URL ILIKE '%onerror=%' THEN 'XSS'
WHEN URL ILIKE '%192.168.%' OR URL ILIKE '%10.%' THEN 'SSRF-PrivateRange'
ELSE 'SuspiciousAPICall'
END AS threat_type
FROM events
WHERE
LOGSOURCETYPENAME(devicetype) IN ('Apache HTTP Server', 'Nginx', 'IBM Security Network IPS', 'Juniper Networks')
AND destinationport IN (11235, 8080, 8000, 8001)
AND (
URL ILIKE '%/crawl%'
OR URL ILIKE '%/execute_js%'
OR URL ILIKE '%/screenshot%'
OR URL ILIKE '%/extract%'
OR URL ILIKE '%169.254.169.254%'
OR URL ILIKE '%../%'
OR URL ILIKE '%file://%'
)
AND DATEFORMAT(starttime, 'yyyy-MM-dd') >= DATEADD('day', -1, CURRENT_DATE)
GROUP BY sourceip, destinationip, destinationport, URL, http_method, http_status, threat_type
HAVING COUNT(*) >= 1
ORDER BY last_seen DESC QRadar AQL query identifying Crawl4AI API exploitation indicators across web server log sources, categorizing request patterns by threat type and filtering to known Crawl4AI deployment ports.
Data Sources
Required Tables
False Positives & Tuning
- Authorized penetration test traffic against Crawl4AI instances from known security team IP ranges
- Legitimate JavaScript-heavy crawl workloads accessing the execute_js endpoint
- Internal microservices making loopback requests through Crawl4AI API for legitimate scraping tasks
- Misconfigured web application firewalls logging benign traffic as suspicious URL patterns
Other platforms for CVE-2026-56266
Testing Methodology
Validate this detection against 4 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.
- Test 1Crawl4AI Unauthenticated API Access Test
Expected signal: HTTP POST to port 11235 /crawl endpoint with 200 response and no Authorization header in request logs
- Test 2Crawl4AI SSRF via Cloud Metadata Endpoint
Expected signal: Outbound HTTP connection from Crawl4AI container to 169.254.169.254:80; logged in container network flow data and potentially in WAF/proxy logs
- Test 3Crawl4AI Path Traversal File Read via Screenshot Endpoint
Expected signal: HTTP POST to /screenshot or /crawl with file:// URL scheme in request body; response may contain file contents if vulnerable
- Test 4Crawl4AI JavaScript Code Injection via execute_js Endpoint
Expected signal: HTTP POST to /execute_js with js_code parameter containing JavaScript; Crawl4AI process spawning Playwright browser subprocess
Unlock Pro Content
Get the full detection package for CVE-2026-56266 including response playbook, investigation guide, and atomic red team tests.