image

Cloudflare: grote storing veroorzaakt door aanpassing wegens React-lek

maandag 8 december 2025, 12:10 door Redactie, 3 reacties

De grote Cloudflare-storing die zich vorige week voordeed, en waardoor allerlei websites en diensten onbereikbaar waren, werd volgens het internetbedrijf veroorzaakt door een aanpassing die het wegens een kwetsbaarheid in React Server Components doorvoerde. Afgelopen vrijdag zorgde de storing ervoor dat ongeveer een half uur lang allerlei websites de foutmelding "500 Internal Server Error - cloudflare" gaven. Een paar weken geleden zorgde een ander probleem bij Cloudflare ervoor dat websites urenlang onbereikbaar waren.

Cloudflare biedt verschillende diensten, waaronder firewalling en load balancing. De Web Application Firewall (WAF) van het internetbedrijf inspecteert HTTP requests die websites ontvangen op de aanwezigheid van malicious code. Hiervoor wordt de inhoud van het HTTP request door de Cloudflare-proxy gebufferd, waarna de inspectie plaatsvindt. Cloudflare heeft hiervoor een buffergrootte van 128KB gereserveerd. Vorige week waarschuwden overheidsdiensten en security- en techbedrijven voor een kritieke kwetsbaarheid in React Server Components.

React is een zeer populaire library voor het ontwikkelen van gebruikersinterfaces voor webapplicaties. Daarnaast is het onderdeel van verschillende andere development frameworks, waaronder Next.js. Een kritiek beveiligingslek (CVE-2025-55182, React2Shell) in React Server Components zorgt ervoor dat een aanvaller door het versturen van speciaal geprepareerde HTTP requests code op de onderliggende server kan uitvoeren. De impact van het beveiligingslek is op een schaal van 1 tot en met 10 beoordeeld met een 10.0.

Naar aanleiding van de kwetsbaarheid besloot Cloudflare de buffergrootte aan te passen naar 1MB. Tijdens de uitrol van deze aanpassing werd ontdekt dat de interne WAF-testtool van Cloudflare deze aangepaste buffergrootte niet ondersteunde. Volgens Cloudflare was deze interne testtool op dat moment niet nodig en had geen impact op het verkeer van klanten. Daarop werd de testtool uitgeschakeld. Het uitschakelen van de testtool zorgde bij één van de Cloudflare-proxies voor een "error state", waardoor websites van klanten de 500 HTTP error foutmelding gaven. Na een klein half uur werd het probleem verholpen.

Cloudflare zegt dat het deze week met uitgebreide informatie komt over de maatregelen die het gaat nemen om toekomstige storingen te voorkomen. Deze maatregelen waren deels al na de grote storing van november genomen. Zolang deze activiteiten niet zijn afgerond zegt Cloudflare geen aanpassingen aan het netwerk door te voeren.

Reacties (3)
08-12-2025, 14:22 door Anoniem
Damned if you do, damned if you don't .

Zo snel mogelijk kritieke patches uitrollen vs testen op impact van de fix/workaround.
of dus hier - de bij-werking van het moeten disablen van een test-tool, waarbij het disablen zelf van die test-tool weer de storing veroorzaakte.
08-12-2025, 16:05 door BaseFortify
Het blijft een beetje raar: 1 proxy met een "error state" veroorzakt door het uitschakelen van een interne tool? Het klinkt erg amateuristisch. Natuurlijk vangen hoge bomen veel wind, maar je zou denken dat ze hun eigen tools en hun limieten goed kennen.
08-12-2025, 18:36 door Anoniem
Door BaseFortify: Het blijft een beetje raar: 1 proxy met een "error state" veroorzakt door het uitschakelen van een interne tool? Het klinkt erg amateuristisch. Natuurlijk vangen hoge bomen veel wind, maar je zou denken dat ze hun eigen tools en hun limieten goed kennen.

Alles wat goed gaat hoor je niks over.

Ze kenden de limiet - daarom wisten ze dat ze tool moesten uitschakelen omdat die niet met de limiet kon omgaan.

En bij het uitschakelen ging het (soms/afhankelijk van omstandigheden) mis op sommige proxies - meer dan één.

Hot changes zijn altijd lastig , en hier blijkbaar in sommige omstandigheden niet goed geimplementeerd.

Ik speculeer dat ze een tegen iets aanliepen waarin een rule die actief in gebruik gewijzigd moest worden .
(of dat er meerdere regels horen bij een bepaalde "rule" en de wijziging niet 'atomic' was) .

This second change of turning off our WAF testing tool was implemented using our global configuration system. This system does not perform gradual rollouts, but rather propagates changes within seconds to the entire fleet of servers in our network and is under review following the outage we experienced on November 18.

Unfortunately, in our FL1 version of our proxy, under certain circumstances, the second change of turning off our WAF rule testing tool caused an error state that resulted in 500 HTTP error codes to be served from our network.

As soon as the change propagated to our network, code execution in our FL1 proxy reached a bug in our rules module which led to the following Lua exception:

[lua] Failed to run module rulesets callback late_routing: /usr/local/nginx-fl/lua/modules/init.lua:314: attempt to index field 'execute' (a nil value)

resulting in HTTP code 500 errors being issued.
Reageren
Ondersteunde bbcodes
Bold: [b]bold text[/b]
Italic: [i]italic text[/i]
Underline: [u]underlined text[/u]
Quote: [quote]quoted text[/quote]
URL: [url]https://www.security.nl[/url]
Config: [config]config text[/config]
Code: [code]code text[/code]

Je bent niet en reageert "Anoniem". Dit betekent dat Security.NL geen accountgegevens (e-mailadres en alias) opslaat voor deze reactie. Je reactie wordt niet direct geplaatst maar eerst gemodereerd. Als je nog geen account hebt kun je hier direct een account aanmaken. Wanneer je Anoniem reageert moet je altijd een captchacode opgeven.