Hall of FameJohn Graham-Cumming201922 min readpostmortemintermediate
Details of the Cloudflare outage on July 2, 2019
Summary
A Cloudflare WAF Managed Rule introduced a regex with catastrophic backtracking, exhausting CPU on every core and causing a 27‑minute global outage. The team used synthetic tests, CPU metrics, and a global termination mechanism to halt the rule, then rolled it back after confirming the fix.
- A single poorly‑written regular expression can cause massive CPU backtracking and saturate a globally distributed service.
- Global termination can instantly disable a component, but access‑control failures can delay its execution.
- Internal authentication outages (Access down) and reliance on rarely‑used bypass paths hindered rapid remediation.
- Real‑time synthetic health checks and per‑core CPU monitoring were essential for early detection of the failure.
Operators of large, globally distributed systems need to understand the hidden performance risks of complex regexes and ensure robust, accessible rollback mechanisms.
7/10



