{"id":"CVE-2026-115508","kind":"vulnerability","aliases":["CVE-2026-115508"],"related":[],"title":"Crawl4AI: unbounded regex in Docker API lets authenticated clients freeze server","description":"Crawl4AI 0.7.0 before 0.9.5 contains an inefficient regular expression complexity vulnerability in the Docker API server that allows authenticated API clients to supply unbounded regular expressions in /crawl request bodies. Attackers can submit catastrophic-backtracking patterns via RegexExtractionStrategy.custom, RegexChunking.patterns or JsonCss, JsonXPath and JsonLxml schema regex fields against a crafted page to freeze the entire server, including /health.","summary":"Crawl4AI's Docker API server accepts unbounded regular expressions in /crawl request bodies, and a crafted pattern causes catastrophic backtracking. An authenticated API client can freeze the entire server, including the /health endpoint.","severity":"high","cvss":7.1,"epss":0.00305,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["ai-tooling","crawl4ai","docker","python","self-hosted"],"not_affected_if":["library-only-use","no-docker-api-exposure"],"how_to_check":"- Check the installed Crawl4AI version with `pip show crawl4ai` or the image tag of the Docker deployment; affected versions are `0.7.0` up to but not including `0.9.5`.\n- Look for exposed Crawl4AI Docker API endpoints that accept `/crawl` requests from clients outside the trusted team.","fix":"- Upgrade Crawl4AI to `0.9.5` or later, including the Docker image.\n- Until upgraded, restrict who can call the `/crawl` endpoint and limit API client credentials.","status":"open","published_at":"2026-10-22T20:17:06+00:00","first_seen_at":"2026-10-23T21:57:32+00:00","triaged_at":"2026-10-25T03:31:23+00:00","updated_at":"2026-10-25T03:31:23+00:00","category":"ai-tooling","confidence":0.8,"triage":{"at":"2026-10-25T03:31:23Z","model":"claude-haiku-5-5","output":{"fix":"- Upgrade Crawl4AI to `0.9.5` or later, including the Docker image.\n- Until upgraded, restrict who can call the `/crawl` endpoint and limit API client credentials.","reach":"network","title":"Crawl4AI: unbounded regex in Docker API lets authenticated clients freeze server","impact":"medium","summary":"Crawl4AI's Docker API server accepts unbounded regular expressions in /crawl request bodies, and a crafted pattern causes catastrophic backtracking. An authenticated API client can freeze the entire server, including the /health endpoint.","category":"ai-tooling","nicknames":[],"who_cares":["crawl4ai","docker","self-hosted","python"],"confidence":0.8,"needs_auth":"yes","worst_case":"Authenticated client freezes the whole server, including health checks","analyst_note":"","how_to_check":"- Check the installed Crawl4AI version with `pip show crawl4ai` or the image tag of the Docker deployment; affected versions are `0.7.0` up to but not including `0.9.5`.\n- Look for exposed Crawl4AI Docker API endpoints that accept `/crawl` requests from clients outside the trusted team.","needs_analyst":false,"not_affected_if":["library-only-use","no-docker-api-exposure"],"who_is_affected":"Teams that run the Crawl4AI Docker API server at version `0.7.0` up to `0.9.5` and let authenticated clients submit /crawl requests with regex extraction or chunking fields are exposed. Teams that use Crawl4AI only as a Python library, or that never expose the Docker API server, can skip it.","user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"high"},"cost_usd":0.000648,"input_tokens":3438,"output_tokens":608,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-115508':14A,17A '-2026':13A,16A '/crawl':37B,87C '/health':58B,118C '0.7.0':61C '0.9.5':63C 'accept':32B 'ai':19B 'ai-tool':18B 'allow':77C 'api':6A,30B,49B,74C,79C 'attack':90C 'authent':8A,48B,78C 'backtrack':46B,95C 'bodi':39B,89C 'catastroph':45B,94C 'catastrophic-backtrack':93C 'caus':44B 'client':9A,50B,80C 'complex':69C 'contain':64C 'craft':42B,110C 'crawl4ai':1A,21B,27B,60C 'cve':12A,15A 'docker':5A,22B,29B,73C 'endpoint':59B 'entir':54B,115C 'express':35B,68C,85C 'field':107C 'freez':10A,52B,113C 'host':26B 'includ':56B,117C 'ineffici':66C 'jsoncss':101C 'jsonlxml':104C 'jsonxpath':102C 'let':7A 'page':111C 'pattern':43B,96C 'python':23B 'regex':3A,106C 'regexchunking.patterns':99C 'regexextractionstrategy.custom':98C 'regular':34B,67C,84C 'request':38B,88C 'schema':105C 'self':25B 'self-host':24B 'server':11A,31B,55B,75C,116C 'submit':92C 'suppli':82C 'tool':20B 'unbound':2A,33B,83C 'via':97C 'vulner':70C","nicknames":[],"mitigations":[],"who_affected":"Teams that run the Crawl4AI Docker API server at version `0.7.0` up to `0.9.5` and let authenticated clients submit /crawl requests with regex extraction or chunking fields are exposed. Teams that use Crawl4AI only as a Python library, or that never expose the Docker API server, can skip it.","tier":"B","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-22T20:17:06+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","cvss_by":"disclosure@vulncheck.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-115508","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-115508","severity":null,"published_at":"2026-10-22T20:17:06+00:00","modified_at":"2026-10-23T13:19:11+00:00","first_seen_at":"2026-10-23T21:57:32+00:00","fetched_at":"2026-10-23T22:29:03+00:00","note":null},{"source":"epss","external_id":"CVE-2026-115508","url":"https://api.first.org/data/v1/epss?cve=CVE-2026-115508","severity":null,"published_at":null,"modified_at":null,"first_seen_at":"2026-10-24T07:15:51+00:00","fetched_at":"2026-10-24T07:15:51+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}