React Server Bileşenlerinde Kritik Güvenlik Açığı: CVE-2025-55182 (Next.js: CVE-2025-66478)
Modern web geliştirme dünyası son yıllarda büyük bir dönüşüm geçiriyor. Bu dönüşümün merkezinde ise React Server Components (RSC) yer alıyor. Ancak Aralık 2025’te açıklanan CVE-2025-55182 ve ona bağlı Next.js güvenlik açığı CVE-2025-66478, RSC mimarisinin ne kadar hassas bir noktada durduğunu net şekilde gösterdi.
Güvenlik Açığının Özeti
CVE-2025-55182, React Server Components ekosistemindeki bir pre-authentication Remote Code Execution (RCE) açığıdır. Yani saldırganın uygulamaya giriş yapmasına bile gerek yoktur. Kısaca: Sadece bir HTTP isteği ile, sunucunuz saldırganın kontrolüne geçebilir.
Aralık 2025’te duyurulan CVE-2025-55182, React Server Components (RSC) mimarisinde ortaya çıkan son yılların en kritik güvenlik açıklarından biri olarak kabul ediliyor. Bu açık, React 19’un bazı sürümlerinde bulunan bir hata nedeniyle, saldırganların sunucu tarafında çalışan React kodunu manipüle ederek kendi kodlarını çalıştırabilmelerine imkan tanıyor.
Bu açık yalnızca React’ı değil, React üzerine inşa edilen birçok framework’ü etkiliyor. Özellikle:
-
React 19 (19.0.0 – 19.2.0 arası sürümler)
-
Next.js 15 ve 16 tüm sürümleri
-
RSC kullanan diğer deneysel veya yapısal framework ve paketler
Next.js tarafındaki karşılık gelen güvenlik açığı: CVE-2025-66478
Bu açık, açıklanır açıklanmaz CVSS 10.0 (en yüksek seviye) ile derecelendirildi.
Güvenlik Açığının Teknik Detayları
RSC dünyasında bileşenler “Flight” adı verilen özel bir protokol üzerinden iletişim kurar. Sunucu, bu protokol ile serialize edilmiş veri gönderirken, istemci bu veriyi deserialize ederek işler.
Sorun işte tam burada ortaya çıkıyor:
-
React, gelen Payload verilerini yetersiz güvenlik kontrolüyle deserialize ediyor.
-
Saldırgan tarafından özel hazırlanmış bir Flight paketi, sunucuda kod yürütülmesine yol açabiliyor.
-
Bu işlem için kimlik doğrulama gerekmiyor.
-
Saldırı yalnızca ağ üzerinden yapılabiliyor, yani her genel erişime açık uygulama risk altında.
Bu durum RSC sistemini kullanan her framework’ü etkiliyor.
Peki Güvenlik Açığı Tam Olarak Nerede?
Bu açık Flight protokolü ile gelen verilerin doğru doğrulanmaması nedeniyle ortaya çıkıyor.
Şöyle düşün:
-
Sunucu, tarayıcıdan gelen Flight paketini alıyor.
-
İçinde “RSC’nin tekrar oluşturması gereken bileşen bilgileri” var.
-
Fakat bu paket düzgün doğrulanmıyor.
-
Saldırgan bu paketi manipüle edip içine kötü amaçlı bir yük koyarsa…
-
Sunucu bunu gerçek bir RSC isteği zannedip işliyor.
-
Ve sonuç: sunucuda saldırgan tarafından yazılmış kod çalıştırılabiliyor.
Bu tam anlamıyla bir Remote Code Execution (RCE) zafiyetidir.
Kimlik Doğrulama Gerekmiyor
Açığın tehlikesini artıran en kritik nokta bu:
- Saldırganın sisteme giriş yapmasına gerek yok.
- Herhangi bir kullanıcı, sadece bir HTTP isteği göndererek saldırıyı başlatabilir.
Bu yüzden açık “pre-authentication RCE” grubundadır…
Bu da CVSS skorunun neden direkt 10.0 (Critical) olduğunun cevabıdır.
Basit Bir Senaryo ile Açıklayalım
Bir Next.js veya React RSC uygulamanız olduğunu düşünün.
Normalde beklediğiniz Flight isteği:
{
"component": "ProductList",
"props": { "category": "books" }
}
Sunucu bunu işler ve bileşeni render eder.
Ama saldırgan şu şekilde bir yük oluşturuyor:
{
"_payload": "evil-payload",
"run": "server-side code injection"
}
RSC’nin hatalı sürümlerinde bu yük düzgün doğrulanmadığı için: Sunucu bu paketi “render işinin bir parçası” zannedip içeriği işliyor.
Sonuç Olarak
-
Dosya sistemi değiştirilebilir
-
Sunucu komutları çalıştırılabilir
-
Veriler çalınabilir
-
Web uygulaması tamamen ele geçirilebilir
-
Ödeme, kullanıcı bilgisi, kimlik doğrulama süreçleri manipüle edilebilir
Açığı Daha Da Kritik Hale Getiren Unsurlar
Bu güvenlik açığının etkisini artıran birkaç faktör var:
- Sunucu tarafında çalışıyor
Bu, saldırganın doğrudan backend’e ulaşması anlamına geliyor.
- Günümüzün popüler mimarilerini vuruyor
Next.js 15–16 ve React 19 çok yaygın kullanılıyor.
- Uygulama dışına taşabilir
Eğer saldırgan sunucuyu ele geçirirse:
-
Loglara ulaşabilir
-
Diğer servislerin tokenlarını alabilir
-
Aynı sunucudaki farklı projeleri etkileyebilir
- Bulut ortamlarını bile etkileyebilir
Serverless, edge runtime veya container çalışan projeler dahil.
Kısacası:
Bu zafiyet:
-
“Bir formu yanlış doğrulamayan SQL Injection” seviyesinde değil,
-
“Tüm sisteminizi ele geçirebilen sınırsız bir arka kapı” seviyesindedir.
Web geliştirme dünyasında bir açık ne kadar kolay, ne kadar geniş kitleyi etkiliyor ve ne kadar yetki sağlıyorsa, o kadar tehlikelidir.
CVE-2025-55182 tüm bu kriterlerde en üst seviyede yer alıyor.
Kimler Etkileniyor?
Açığa duyarlı sistemler:
React
-
19.0.0
-
19.1.0
-
19.1.1
-
19.2.0
Güvenli sürümler:
-
19.0.1
-
19.1.2
-
19.2.1
Next.js
Etkilenen tüm sürümler: 15.x – 16.x
Güncellenmesi önerilen güvenli sürümler:
-
15.0.5
-
15.1.9
-
15.2.6
-
15.3.6
-
15.4.8
-
15.5.7
-
16.0.7
Diğer Etkilenen Teknolojiler
-
React Router RSC preview
-
Vite RSC entegrasyonları
-
Parcel RSC
-
Sunucu bileşenlerini destekleyen herkese özel framework ve adaptörler
Neden Bu Kadar Kritik?
Bu zafiyeti kritik yapan özellikler:
-
Kimlik doğrulama gerektirmiyor.
-
Sunucu tamamen ele geçirilebilir.
-
Saldırı internet üzerinden yapılabiliyor.
-
Milyonlarca uygulama React 19 veya Next.js 15/16 kullanıyor.
Bu açığın ağırlığı, “sıfır gün zafiyetleri” kadar ciddi.
Özellikle ödeme sistemleri, kişisel veri işleyen projeler, SaaS platformları ve şirket içi sistemler ciddi risk altında.
Hemen Uygulanması Gereken Çözümler
1. React için güncelleme:
npm install react@latest react-dom@latest
Sürümünüzün şu üçünden biri olduğundan emin olun:
-
19.0.1
-
19.1.2
-
19.2.1
2. Next.js için güncelleme:
npm install next@latest
En az şu sürümlerden birine geçmelisiniz:
-
15.0.5
-
15.1.9
-
15.2.6
-
15.3.6
-
15.4.8
-
15.5.7
-
16.0.7
3. RSC kullanan diğer frameworkler için:
Kullandığınız paketlerin son sürümlerini kontrol edin. RSC bağımlılıklarının güncel olduğundan emin olun.
4. WAF (Web Application Firewall) kullanıyorsanız:
Birçok hizmet (Cloudflare, Netlify, Vercel) bu açıkla ilgili geçici koruma kuralları yayınladı.
Flight protokolü kapsamındaki beklenmeyen istekleri engellemek etkili bir geçici çözümdür.
Geliştiriciler İçin İpuçları
Bu olay bize birkaç önemli ders veriyor:
1. Yenilikçi teknolojiler daha fazla dikkat gerektiriyor
RSC, modern ve ileri seviye bir yaklaşım olsa da henüz tam olgunlaşmış değil.
2. Bağımlılık güvenliği artık en kritik konu
Bir uygulamanın sadece kendi kodu değil, bağımlılıkları da saldırı yüzeyini artırıyor.
3. Sürüm yönetimi (Dependency Hygiene) şart
Her projenin otomatik güvenlik taraması olmalı.
4. Full-stack mimarilerde güvenlik katmanlı düşünülmeli
“Client + Server Components + API” üçgeni kontrolsüz genişliyor.
Bu da saldırı vektörünü büyütüyor.
CVE-2025-55182, React Server Components ekosisteminin sağlamlığını test eden en kritik olaylardan biri oldu.
Saldırının etkisi geniş, sonuçları ağır ve çözümü net: Hemen güncelleme yapın.
Eğer React, Next.js veya RSC tabanlı bir framework ile çalışıyorsanız; bu yazı sizin için bir uyarı niteliğinde.
Yapmanız gereken:
-
Sürümlerinizi kontrol edin
-
Güvenlik yamalarını uygulayın
-
WAF ve log izleme gibi ek güvenlik katmanları ekleyin
-
Sunucu bileşenleri yönetiminde daha temkinli olun
- Reactjs
- Nextjs
- Güvenlik Açığı
Tepkini Göster
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
Yorumlar
Sende Yorumunu Ekle