# RegEx kaatoi Cloudflaren. 27 minuuttia.

Published: 2026-09-12

Heinäkuun 2. päivä 2019, 13:42 UTC: yksi uusi sääntö Cloudflaren verkkosovelluspalomuurille otetaan käyttöön yli 180 kaupungissa noin kahdessa sekunnissa. Se on XSS-sääntö simulaatiotilassa, joten se ei estä mitään, mutta se silti ajetaan jokaisella pyynnöllä, ja se päättyy .\*(?:.\*=.\*). PCRE perääntyy, jokainen HTTP-palveluita tarjoava suoritinydin saavuttaa 100 %:n kuormituksen, ja kaikki Cloudflaren kautta välitetyt sivustot palauttavat 502-virheen 27 minuutin ajan; liikenne putoaa 82 %. Hätäkatkaisin sijaitsee Cloudflare Accessin takana, joka puolestaan sijaitsee Cloudflaren takana. Onnettomuusanalyysi, Cloudflaren omasta raportista: suoritinvalvonta poistettiin viikkoja aikaisemmin uudelleenmuotoilussa, jonka tarkoituksena oli säästää suoritinta, menettely, joka antoi minkä tahansa säännön ohittaa vaiheistuksen, moottori ilman monimutkaisuus takuuta, 11 syytä ja 7 korjausta. Tuomio korjauksesta: SHIP IT.

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

## Mitä tämä video käsittelee

- 13:31–13:42 UTC: PR yhdistetty, CI vihreä (ei suoritin testiä), Quicksilver työntää säännön yli 180 kaupunkiin; WAF-säännöt ohittavat DOG → PIG → Canary -vaiheet
- 13:45–14:07: ensimmäinen sivu; suoritin 100 % maailmanlaajuisesti, liikenne -82 %, 502-virheitä kaikkialla; sisäinen ohjauspaneeli on Cloudflare Accessin takana, joka on alhaalla; jotkut tunnukset ovat vanhentuneet; harvoin harjoiteltu ohitus
- 14:07–14:09: maailmanlaajuinen WAF-lopetus; liikenne ja suoritin normaalit 27 minuutin kuluttua; 14:52 WAF takaisin ilman sääntöä
- Heinäkuun 2. (15:50 UTC) ja heinäkuun 12.: Cloudflare julkaisee saman päivän muistion ja täyden onnettomuusanalyysin; suoritinvalvonta lisätty uudelleen, 3 868 sääntöä luettu uudelleen, vaiheistetut käyttöönotot, siirtyminen lineaarisen ajan RegEx-moottoriin

## Käännetty transkriptio

Käännetty alkuperäisestä englanninkielisestä selostuksesta. Käytettävissä olevan äänen ja tekstitysten hallinta tapahtuu YouTuben kautta.

0:00 Yksi säännöllinen lauseke otetaan käyttöön jokaisella Cloudflare-palvelimella kerralla, ja seuraavan kahdenkymmenenseitsemän minuutin ajan sen takana olevat sivustot ovat 502-virhesivu, mikä on palomuurille tiukin mahdollinen asetus. Heinäkuun 2. päivä, 2019, 13:42 UTC. Cloudflare ilmoittaa kahden tunnin sisällä: ei hyökkäys, vaan virheellinen käyttöönotto, liikenne laski 82 prosenttia. Kymmenen päivää myöhemmin teknologiajohtaja John Graham-Cumming julkaisee täyden onnettomuusanalyysin, sisältäen RegExin, ja Hacker News antaa sille 698 pistettä,

0:26 mikä katkokselle on seisovat aplodit. Miten se tapahtuu, miksi se on mahdollista, ja kuka saa todellisuudessa syyn niskoilleen. Tämä on The Daily Diff, jälkipuinti. 13:31. Vetopyyntö yhdistetään: yksi uusi palomuurisääntö verkkoristikkäistä skriptausta vastaan, simulaatiotilassa, joten se ei estä mitään. 13:37, testit läpäisty; yksikään ei mittaa suoritinta. 13:42, sääntö toimitetaan 180 kaupunkiin kahdessa sekunnissa, koska WAF-säännöt ohittavat koira-, sika- ja kanarianvaiheet, jotka muut julkaisut saavat.

0:54 13:45, ensimmäinen sivu. 13:49, Hacker Newsissa on ketju tilasivusta, joka edelleen sanoo kaikkien järjestelmien olevan toiminnassa. Sääntö päättyy piste-tähteen, piste-tähteen, yhtäsuuruusmerkkiin, piste-tähteen: mitä tahansa, sitten mitä tahansa, sitten yhtäsuuruusmerkki. PCRE arvaa ahneesti, epäonnistuu ja perääntyy jokaisen muun jaon läpi. x yhtä suuri kuin x vie 23 askelta. Kaksikymmentä x:ää yhtäsuuruusmerkin jälkeen: 555.

1:15 Kaksikymmentä x:ää, ei yhtäsuuruusmerkkiä: 4 067 askelta löytääkseen mitään. Aja se jokaisella pyynnöllä ja jokainen ydin on sadassa prosentissa, tehden perusteellisesti ei mitään. Kahden vartijan olisi pitänyt huomata se. Sääntöjen suoritinrajoitus poistettiin vahingossa viikkoja aikaisemmin, uudelleenmuotoilussa, jonka tarkoituksena oli saada WAF käyttämään vähemmän suoritinta. Ja menettely antaa minkä tahansa säännön ohittaa vaiheistuksen, koska säännöt ovat olemassa pysäyttääkseen reaaliaikaisia hyökkäyksiä; tämä ei ollut hätätilanne, ja se meni silti globaaliksi.

1:37 14:00, WAF tunnistetaan; ei hyökkäystä. 14:02, joku ehdottaa globaalia lopetusta: yksi komponentti, pois päältä, maailmanlaajuisesti. Kytkin on Cloudflare Accessin takana. Cloudflare Access on Cloudflaren takana. Jotkut tunnukset ovat vanhentuneet käyttämättömyyden vuoksi, joten nopein verkko internetissä käyttää viisi minuuttia ohitukseen, jota kukaan ei harjoitellut. 14:07, sammutus. 14:09, liikenne normaalia. git blame: käyttöönotto yhdellä nopeudella, globaali; suoritinvalvonta uudelleenmuotoiltiin pois

2:04 vahingossa; RegEx-moottori ilman ylärajaa. Ei insinööri, joka kirjoitti säännön: onnettomuusanalyysi luettelee yksitoista syytä ja ei nimeä ketään. Vahinkoalue: 27 minuuttia, 82 prosenttia liikenteestä, 100 prosenttia suorittimen kuormitusta jokaisessa ytimessä, jokaisessa kaupungissa. Hallintapaneeli ja API sijaitsevat saman reunan takana, joten asiakkaat eivät voi edes kytkeä sitä pois päältä. Hacker News, onnettomuusanalyysin alla: heillä oli yksi ongelma, käyttivät säännöllistä lauseketta, nyt heillä on kaksi. Vanha vitsi. Toimii edelleen.

2:28 Tuomio, onnettomuusanalyysi: SHIP IT. Suoritinvalvonta on takaisin, kaikki 3 868 sääntöä luetaan käsin, säännöt käyvät läpi vaiheistuksen, ja moottori siirtyy sellaiseen, jolla on lineaarisen ajan takuut, julkaissut Ken Thompson vuonna 1968. Maanantai: ei piste-tähti piste-tähtiä missään, mikä ajetaan pyyntöä kohden, ja pidä hätäkatkaisin irti siitä, mitä se tappaa. Lähetä minulle tapaus, josta et edelleenkään saa puhua, kommenteissa tai osoitteessa daily diff dot dev.

2:53 Ja siinäpä tämän päivän ero. Olen Niko Axrisista. Yhdistä vastuullisesti.

## Lähteet

- [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
