React Server Bileşenlerinde Kritik Güvenlik Açığı: CVE-2025-55182 (Next.js: CVE-2025-66478)

445
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çığı...
04 Aralık 2025 Perşembe - 08:50 (3 Gün önce)

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çığı



Yorumlar
Sende Yorumunu Ekle
Kullanıcı
0 karakter