Cloudflare 5 Aralık 2025 Kesintisi
(blog.cloudflare.com)- 2025-12-05 08:47 UTC'de Cloudflare ağının bir kısmı ciddi bir arıza yaşadı ve yaklaşık 25 dakika sonra, saat 09:12'de tamamen düzeltildi
- Toplam HTTP trafiğinin yaklaşık %28'i etkilendi ve yalnızca belirli koşulları karşılayan müşteriler arıza yaşadı
- Neden, React Server Components açığı (CVE-2025-55182) için yapılan WAF(gövde ayrıştırma mantığı) değişikliğiydi; olayın bir siber saldırı veya kötü niyetli eylemle ilgisi yoktu
- FL1 proxy'deki bir kod hatası nedeniyle HTTP 500 hatası üretildi; yeni Rust tabanlı FL2 proxy'sinde aynı hata oluşmadı
- Cloudflare, Kasım 18 arızasından sonra da benzer bir sorunun tekrarlandığını kabul ederek, dağıtım güvenliği ve dayanıklılık artırma projesini en yüksek öncelik olarak yürütüyor
Arıza özeti
- 2025-12-05 saat 08:47 UTC'de Cloudflare ağının bir bölümünde arıza meydana geldi
- 09:12'de tüm servisler geri yüklendi; toplam etki süresi 25 dakika oldu
- Toplam HTTP trafiğinin yaklaşık %28'i etkilendi
- Arıza, siber saldırı veya kötü niyetli bir eylemle ilgisi olmaksızın iç bir ayar değişikliği sırasında meydana geldi
- React Server Components için yeni güvenlik açığına yanıt olarak yapılan WAF gövde ayrıştırma mantığı değişikliği tetikleyiciydi
Arıza nedeni ve teknik arka plan
- Cloudflare WAF, zararlı yükleri tespit etmek için HTTP istek gövdesini bellekte tamponlar
- Mevcut tampon boyutu 128 KB'den 1 MB'a çıkarılıyordu
- Yeni tampon boyutunu desteklemeyen iç test aracı nedeniyle test aracını devre dışı bırakmaya yönelik ikinci bir değişiklik yapıldı
- Bu değişiklik, küresel yapılandırma sistemi aracılığıyla anında tüm sunuculara yayıldı
- FL1 proxy'de bu değişiklik hata durumuna yol açarak HTTP 500 yanıtları üretti
- Hata iletisi:
attempt to index field 'execute' (a nil value)
- Hata iletisi:
- Sorun hemen tespit edilip 09:12'de değişiklik geri alındı
Etki alanı
- FL1 proxy kullanan ve Cloudflare Managed Ruleset'i etkinleştiren yalnızca müşteriler etkilendi
- Bu etkilenen alanlardaki tüm istekler HTTP 500 hatası döndürdü
/cdn-cgi/tracegibi bazı test uç noktaları istisna oldu
- Çin ağı ve farklı konfigürasyonlu müşteriler etkilenmedi
Çalışma zamanı hatası ayrıntıları
- Cloudflare'in kurallar kümeleri (rulesets) sistemi her istek için kuralları değerlendirir
- Kurallar filtre ve eylemlerden oluşur;
executeeylemi başka bir kurallar kümesini çağırır
- Kurallar filtre ve eylemlerden oluşur;
- İç loglama sistemi, test kurallarını değerlendirmek için
executekullanır - killswitch sistemi, hatalı davranan kuralları devre dışı bırakacak şekilde tasarlanmıştır, ancak
executeeylemi içeren kurallarda killswitch uygulaması bu ilk olaya denk geldi
executenesnesi mevcut değilken buna erişilmeye çalışılmasıyla Lua hatası oluştu- Bu hata, yıllardır var olan basit bir kod hatasıydı
- Rust ile yazılmış FL2 proxy'de aynı hata ortaya çıkmadı
18 Kasım arızasından sonraki geliştirme durumu
- 18 Kasım'da da benzer bir küresel dağıtım kaynaklı geniş kapsamlı arıza yaşanmıştı
- O dönemde yüzlerce müşteriyle doğrudan iletişime geçilerek tek bir güncellemenin tüm ağda yayılmasının önlenmesi planı paylaşılmıştı
- Bu geliştirme çalışması henüz tamamlanmadığı için bu arıza etkilenmiş oldu
- Cloudflare bunu organizasyon çapında en yüksek öncelik olarak tanımladı
Devam eden dayanıklılık artırma projeleri
- Gelişmiş Dağıtım ve Sürümleme (Enhanced Rollouts & Versioning)
- Tehdit yanıtı için veri ve yapılandırma değişikliklerine aşamalı dağıtım, sağlık doğrulaması ve hızlı geri alma özellikleri uygulanacak
- Hızlı Müdahale (Streamlined Break Glass) Kabiliyetleri
- İç servisler ve kontrol düzlemi etkileşimlerinde de acil durumda müdahale edilebilirlik sağlanacak
- Fail-Open hata işleme
- Yapılandırma dosyası hatalarında istekleri engellemek yerine varsayılan güvenli duruma dönme veya trafiği geçirme davranışı uygulanacak
- Bazı hizmetlerde fail-open/fail-closed seçim seçeneği sunulacak
- Bir sonraki hafta içinde tüm dayanıklılık projelerinin ayrıntıları açıklanacak
- O zamana kadar ağ değişiklikleri tamamen durdurulmuş (lockdown) durumda tutulacak
Zaman Çizelgesi (UTC)
- 08:47 – yapılandırma değişikliği dağıtıldı ve ağ yayılımı başladı
- 08:48 – tüm etki oluştu
- 08:50 – otomatik uyarı ile olay ilan edildi
- 09:11 – değişiklik geri alınmaya başladı
- 09:12 – toparlanma tamamlandı, tüm trafik normalleşti
Sonuç
- Cloudflare, ardışık iki arızanın ciddiyetini kabul ederek müşterilerine ve internet ekosistemine özür diledi
- Gelecekte benzer olayları önlemek için dağıtım güvenliği, hata toleransı ve dayanıklılığı güçlendirme planlarını ilerletecek
1 yorum
Hacker News yorumları
Bu Cloudflare kesintisi, basit bir Lua hatası değil; daha temel bir mimari sorunu ortaya çıkaran bir olay.
Başlangıçtaki dağıtık web yapısı, bu tür küresel kesintilere çok daha dayanıklıydı. Buna karşılık Cloudflare gibi homojen ve merkezi sistemler, tek bir hatayla dünya genelindeki hizmetleri aynı anda durdurabiliyor. Rust ile yazılsa bile insanlar hata yapar. Sonuçta önemli olan sağlam tasarım.
Dün gece birkaç sitede Cloudflare 500 hatası gördüm. Ama durum sayfasında buna dair hiçbir şey yoktu, sadece planlı bakım duyurusu vardı.
Cloudflare’in kalite mühendisliği, üretim hızına yetişemiyor gibi görünüyor. Eskiden savunma sanayiinde kalite ekibinin her zaman daha tecrübeli olduğunu duyardım; yazılım sektöründe ise sanki tam tersi.
İnternetin paket anahtarlama yapısı, aslında bu tür küresel kesintilere dayanacak şekilde tasarlanmıştı.
Soğuk Savaş dönemindeki DARPA ağı, nükleer saldırı altında bile komuta zincirini koruma amacı taşıyordu.
Şimdi internetin local-first paradigmasına dönme zamanı gelmiş olabilir.
Son zamanlarda Cloudflare’in interneti daha yavaş ve kullanışsız hale getirdiğini hissediyorum. “İnsan olduğunuzu kanıtlayın” gibi adımlar arttı ve sayfa yüklemeleri de gecikiyor.
Bu da site korumasından çok AI crawling için ücretlendirme politikası yüzünden gibi duruyor (Pay-per-crawl tanıtımı).
Cloudflare’in küresel yapılandırma sistemi, kademeli rollout olmadan birkaç saniye içinde tüm ağa yayıldığı için riskli.
Yapılandırma değişiklikleri hata çıkardığında, bununla anında ilişki kurulmasını sağlayacak bir sistem gerekli.
Dağıtımdan sorumlu kişi gerçek zamanlı metriklere bakıp anında rollback düğmesine basmalıydı.
Günlüğe hangi kod satırı olduğu bile açıkça düşmüşken, dağıtım ekibi ile kodu anlayan ekip arasında bir kopukluk varmış gibi görünüyor.
Cloudflare’in çalışma süresi %99,9’un altına düştü. Evimdeki PC’den bile kötü seviyede.
Cloudflare ölçeğinde mutlaka bir test ortamı olmalı.
Her değişiklik, izole edilmiş bir model ortamında simüle edildikten sonra kademeli olarak dağıtılmalı.
Güçlü tip sisteminden daha önemli olan şey süreçsel güvenlik önlemleri.
Hata yapmaya yatkın ekipler yavaşlatılıyor, güvenilirliği yüksek ekipler daha hızlı ilerliyor.
Sonuçta teknik hız bir tercih meselesi. SLA riske giriyorsa hız düşürülmeli ve testler güçlendirilmeli.
Cloudflare’in yazılım kalitesi sarsılıyor gibi.
Kurumsal müşterilere özel bir özelliğin erişim doğrulamasının yalnızca son aşamada yapıldığı bir hata da vardı.
Sadece destek ekibi üzerinden değiştirilebiliyordu ve düzeltilmesi günler sürdü.
İlgili vaka bağlantısı
Cloudflare’in operasyon kültürünü merak ediyorum.
Güvenlik sorununa müdahale sırasında hata olmuş ama rollback yerine bir kez daha küresel dağıtım yapılmış; bu tehlikeli bir karar.
Bu, “şüphe varsa geri al” gibi temel ilkenin ihlali sayılır.
Dağıtım gecikirse müşteriler gerçekten saldırıya uğrayabilirdi; yani burada hız doğrudan güvenlik anlamına geliyordu.
İlk düzeltme, ikincideki gizli hatayı görünür hale getirmiş olabilir; bu yüzden bazen roll forward, rollback’ten daha gerçekçi olur.
Son dönemdeki sık kesintiler de bu borcun artık görünür hale geldiğinin işareti olabilir.