# O expresie regulată a doborât Cloudflare. 27 de minute.

Published: 2026-09-12

2 iulie 2019, 13:42 UTC: o nouă regulă pentru Cloudflare's Web Application Firewall intră în vigoare în peste 180 de orașe în aproximativ două secunde. Este o regulă XSS în modul de simulare, deci nu blochează nimic, dar rulează totuși la fiecare cerere și se termină cu .\*(?:.\*=.\*). PCRE face backtracking, fiecare nucleu CPU care servește cereri HTTP atinge 100 %, iar fiecare site proxy prin Cloudflare returnează 502 timp de 27 de minute; traficul scade cu 82 %. Comutatorul de oprire se află în spatele Cloudflare Access, care se află în spatele Cloudflare. Postmortem, din propria descriere a Cloudflare: garda CPU eliminată cu săptămâni înainte într-o refactorizare menită să economisească CPU, procedura care a permis oricărei reguli să sară peste stadiul de staging, motorul fără garanție de complexitate, cele 11 cauze și cele 7 remedii. Verdictul privind remediul: SHIP IT.

Canonical: https://thedailydiff.dev/ro/video/2026-09-12-cloudflare-regex/

## Ce acoperă acest videoclip

- 13:31–13:42 UTC: PR fuzionat, CI verde (fără test CPU), Quicksilver împinge regula în peste 180 de orașe; regulile WAF sar peste etapele DOG → PIG → Canary
- 13:45–14:07: prima pagină; CPU 100 % la nivel mondial, trafic −82 %, 502s peste tot; panoul de control intern este în spatele Cloudflare Access, care este indisponibil; unele credențiale au expirat; o rutină de bypass rar exersată
- 14:07–14:09: terminare globală WAF; trafic și CPU normale după 27 de minute; 14:52 WAF revine fără regulă
- 2 iul (15:50 UTC) și 12 iul: Cloudflare publică nota din aceeași zi și postmortem-ul complet; garda CPU re-adăugată, 3.868 de reguli re-citite, lansări în etape, mutare la un motor regex cu timp liniar

## Transcrierea tradusă

Tradus din narațiunea originală în engleză. Audio-ul și subtitrările disponibile sunt controlate de YouTube.

0:00 O expresie regulată intră în vigoare pe fiecare server Cloudflare simultan, și pentru următoarele douăzeci și șapte de minute site-urile din spatele ei sunt o pagină 502, ceea ce, pentru un firewall, este cea mai strictă setare posibilă. 2 iulie 2019, 13:42 UTC. Cloudflare postează în două ore: nu un atac, ci o implementare greșită, traficul a scăzut cu 82 la sută. Zece zile mai târziu, CTO John Graham-Cumming publică postmortem-ul complet, expresia regulată inclusă, iar Hacker News îi acordă 698 de puncte,

0:26 ceea ce pentru o întrerupere este o ovație în picioare. Cum se întâmplă, de ce este posibil și cine primește de fapt vina. Acesta este The Daily Diff, postmortem. 13:31. O cerere de pull se îmbină: o nouă regulă de firewall împotriva scriptării între site-uri, în modul de simulare, deci nu blochează nimic. 13:37, testele trec; niciunul nu măsoară CPU. 13:42, regula este livrată în 180 de orașe în două secunde, deoarece regulile WAF sar peste etapele dog, pig și canary pe care le primesc alte lansări.

0:54 13:45, prima pagină. 13:49, Hacker News are un fir de discuție despre pagina de stare, care încă spune că toate sistemele sunt operaționale. Regula se termină cu punct-stelută, punct-stelută, egal, punct-stelută: orice, apoi orice, apoi un semn egal. PCRE ghicește cu lăcomie, eșuează și face backtracking prin fiecare altă împărțire. x egal x necesită 23 de pași. Douăzeci de x-uri după egal: 555.

1:15 Douăzeci de x-uri, fără semn egal: 4.067 de pași pentru a nu găsi nimic. Rulați asta la fiecare cerere și fiecare nucleu este la sută la sută, făcând nimic, temeinic. Două gărzi ar fi trebuit să o prindă. Limita CPU pentru reguli a fost eliminată din greșeală cu săptămâni înainte, într-o refactorizare menită să facă WAF-ul să folosească mai puțin CPU. Și procedura permite oricărei reguli să sară peste staging, deoarece regulile există pentru a opri atacurile în direct; aceasta nu a fost o urgență și a devenit globală oricum.

1:37 14:00, WAF-ul este identificat; niciun atac. 14:02, cineva propune terminarea globală: o componentă, oprită, la nivel mondial. Comutatorul este în spatele Cloudflare Access. Cloudflare Access este în spatele Cloudflare. Unele credențiale au expirat din lipsa de utilizare, așa că cea mai rapidă rețea de pe internet petrece cinci minute pe un bypass pe care nimeni nu l-a exersat. 14:07, oprire. 14:09, traficul normal. git blame: o lansare cu o singură viteză, globală; o gardă CPU refactorizată din

2:04 greșeală; un motor regex fără limită superioară. Nu inginerul care a scris regula: postmortem-ul listează unsprezece cauze și nu numește pe nimeni. Rază de impact: 27 de minute, 82 la sută din trafic, 100 la sută CPU pe fiecare nucleu, în fiecare oraș. Tabloul de bord și API-ul se află în spatele aceleiași margini, astfel încât clienții nu pot nici măcar să-l oprească. Hacker News, sub postmortem: au avut o problemă, au folosit o expresie regulată, acum au două. Glumă veche. Încă se compilează.

2:28 Verdict, postmortem: SHIP IT. Garda CPU este înapoi, toate cele 3.868 de reguli sunt citite manual, regulile trec prin staging, iar motorul se mută la unul cu garanții de timp liniar, publicat de Ken Thompson în 1968. Luni: fără punct-stelută punct-stelută în nimic ce rulează la cerere, și țineți comutatorul de oprire departe de lucrul pe care îl ucide. Trimiteți-mi incidentul despre care încă nu aveți voie să vorbiți, în comentarii, sau la the daily diff dot dev.

2:53 Și asta e diferența pentru astăzi. Sunt Niko de la Axrisi. Îmbinați responsabil.

## Surse

- [John Graham-Cumming, "Details of the Cloudflare outage on July 2, 2019" (Jul 12, 2019)](https://blog.cloudflare.com/details-of-the-cloudflare-outage-on-july-2-2019/) — blog.cloudflare.com
- [Matthew Prince, "Cloudflare outage caused by bad software deploy (updated)" (Jul 2, 2019)](https://blog.cloudflare.com/cloudflare-outage/) — blog.cloudflare.com
- [Matthew Prince on X, Jul 2, 2019, 14:22 UTC](https://x.com/eastdakota/status/1146061591143538688) — x.com
- [Matthew Prince on X, Jul 2, 2019, 14:36 UTC ("No evidence yet attack related")](https://x.com/eastdakota/status/1146065231270907907) — x.com
- [Hacker News, Jul 2, 2019, 13:49 UTC — "Cloudflare Network Performance Issues" (631 points)](https://news.ycombinator.com/item?id=20334924) — news.ycombinator.com
- [Hacker News, Jul 2, 2019 — "Cloudflare outage caused by bad software deploy" (348 points)](https://news.ycombinator.com/item?id=20336332) — news.ycombinator.com
- [Hacker News, Jul 12, 2019 — "Details of the Cloudflare outage on July 2, 2019" (698 points)](https://news.ycombinator.com/item?id=20421538) — news.ycombinator.com
- [TechCrunch, Jul 2, 2019](https://techcrunch.com/2019/07/02/a-cloudflare-outage-is-impacting-sites-everywhere/) — techcrunch.com
