Przekonaj się sam!
Pozostaw wiadomość, a skontaktuje się z Tobą nasz dedykowany doradca.
Wyślij nam wiadomość
0/10000
Pozostaw wiadomość, a skontaktuje się z Tobą nasz dedykowany doradca.
5 grudnia 2025 roku, o godzinie 08:47 UTC, znaczna część internetu wstrzymała oddech. Przez około 25 minut użytkownicy na całym świecie, próbujący dostać się do usług chronionych przez Cloudflare, witani byli błędami HTTP 500. Awaria dotknęła około 28% całego ruchu HTTP obsługiwanego przez giganta CDN.
Co ciekawe, i co warto podkreślić na wstępie – to nie był cyberatak. Przyczyną była zmiana konfiguracyjna, która miała... zwiększyć bezpieczeństwo.
Wszystko zaczęło się od dobrych chęci. Cloudflare pracowało nad mitygacją krytycznej podatności w React Server Components (CVE-2025-55182). Aby skutecznie wykrywać złośliwe payloady związane z tą luką, inżynierowie musieli zwiększyć bufor analizy treści w swoim Web Application Firewall (WAF) z domyślnych 128KB do 1MB (limit zgodny z Next.js).
Zmiana rozmiaru bufora była wdrażana stopniowo ("gradual deployment"). W trakcie tego procesu zauważono jednak, że wewnętrzne narzędzie testowe WAF nie radzi sobie z większym buforem. Ponieważ narzędzie to nie było krytyczne dla ruchu klienckiego, podjęto decyzję o jego wyłączeniu.
Tu nastąpił moment krytyczny. Wyłączenie narzędzia testowego zostało zrealizowane przez system globalnej konfiguracji, który propaguje zmiany natychmiastowo do całej floty serwerów – w przeciwieństwie do powolnego wdrażania zmian w kodzie.
Zmiana dotarła do serwerów działających na starszej wersji proxy (FL1), opartej na NGINX i Lua. Wyłączenie reguły testowej (akcja "killswitch") spowodowało, że silnik reguł pominął wykonanie pewnej sekcji kodu, ale późniejsza logika wciąż próbowała odwołać się do jej wyników.
Doprowadziło to do klasycznego błędu:
[lua] ... attempt to index field 'execute' (a nil value)
W uproszczeniu: kod spodziewał się obiektu rule_result.execute, który nie istniał, ponieważ reguła została "zabita" przed wykonaniem. To nieobsłużone wywołanie na wartości nil (null) spowodowało sypanie błędami 500 dla wszystkich klientów korzystających z Managed Rulesets na proxy FL1.
Cloudflare szybko zidentyfikowało problem i wycofało zmianę o 09:12 UTC, przywracając pełną sprawność sieci.
Warto odnotować, że nowsza wersja proxy Cloudflare (FL2), napisana w języku Rust, była całkowicie odporna na ten błąd dzięki silnemu typowaniu, które uniemożliwiło wystąpienie takiej sytuacji na poziomie kompilacji. Firma zapowiedziała przyspieszenie migracji do Rusta oraz wdrożenie mechanizmów "Fail-Open" – tak, aby błąd konfiguracji powodował przepuszczenie ruchu (ewentualnie bez skanowania), a nie jego całkowite zablokowanie.
Ironia losu: próba ochrony przed jedną podatnością (React), wywołała globalny paraliż przez błąd w kodzie, który istniał niezauważony od lat.
Aleksander
18 listopada internet wstrzymał oddech. Cloudflare, gigant CDN, zamilkł na kilka godzin. To nie był atak DDoS, lecz błąd, który obnażył kruchość współczesnej infrastruktury. Oto dogłębna analiza techniczna tego, jak jedna zmiana uprawnień w bazie danych położyła na łopatki połowę sieci.
5 grudnia Cloudflare zaliczyło kolejną czkawkę, pociągając za sobą Zoom i Fortnite. Do tego dowiedzieliśmy się, że DowndetectorDowndetector to nie mem, a rzeczywistość.
Zapomnij o prostym tunelowaniu. W świecie, gdzie sztuczna inteligencja czyta pakiety jak książkę, a switche sieciowe same korelują ataki, prywatność wymaga zmiany paradygmatu.
Ładowanie komentarzy...