10 Kasım 2026’da React Server Components (RSC) paketlerindeki kritik bir açığa CVE-2026-126187 numarası verildi. Açık, React ekibi tarafından 14 Ekim 2026’dan beri yamalı sürümler ve bir güvenlik danışmasıyla duyurulmuş durumda; yani Kasım’daki gelişme yeni bir keşiften çok geç yapılan CVE ataması ve haber döngüsü. Bu yazı kaynaklara göre ne bilindiğini, Next.js’in ayrı bir danışma ile etkilendiğini, neyin bilinmediğini ve yapılabileceklerini anlatır.
Kısaca
- Ne oldu:
react-server-dom-webpack,react-server-dom-parcelvereact-server-dom-turbopackpaketlerinde kimlik doğrulamasız uzaktan kod çalıştırma (RCE) açığı. CVSS 4.0 skoru 9.5 (Kritik), CWE-502 (güvenilmeyen verinin serileştirmeden çıkarılması). CNA: GitHub. - Etkilenen sürümler: 19.0.0–19.0.8, 19.1.0–19.1.9, 19.2.0–19.2.8 ve 19.3.0. Düzeltilmiş: 19.0.9, 19.1.10, 19.2.9 ve 19.3.1.
- Koşul: React ekibi, yalnızca yanıtların birden çok typed array ile saldırgan kontrollü bir değer taşıdığı “son derece nadir” durumlarda etkilendiğini yazıyor. React kodunuz sunucu kullanmıyorsa ya da RSC destekleyen bir çerçeve, bundler veya bundler eklentisi kullanmıyorsanız etkilenmezsiniz.
- Zamanlama: Düzeltilmiş paketler npm’de 14 Ekim 2026’da yayımlandı; danışma da o gün yayımlandı. CVE numarası 10 Kasım 2026’da atandı.
- Sömürü ve PoC: CISA KEV’de yok (10 Kasım 2026 sürümü, bu CVE’den önce yayımlanmıştı). Herkese açık bir PoC deposu var. Bildirilmiş bir sömürü yok; bu bilgi yalnızca ikincil bir kaynaktan ve 8 Kasım tarihli.
- Next.js ayrı: Next.js’in kendi danışması var (GHSA-673q-mjm6-r5xr): 16.0.0–16.4.0 etkilenir, 16.4.1’de düzeltildi. React paketini yükseltmek Next.js’i düzeltmez;
next’i yükseltmeniz gerekir. - Workaround yok: React ve Next.js danışmaları yalnızca güncellemeyi öneriyor.
Kim neyi, ne zaman söyledi?
Saatler UTC. Tarihler kaynakların kendi kayıtlarından alındı.
| Tarih (2026) | Olay | Kaynak |
|---|---|---|
| 14 Ekim | Düzeltilmiş react-server-dom-* sürümleri npm’de yayımlanıyor (19.0.9, 19.1.10, 19.2.9, 19.3.1). Aynı gün React depo düzeyinde güvenlik danışmasını yayımlıyor (17:08) ve GitHub’da sürüm notları çıkıyor (“Improve transport protocol”; sürüm notları bunun bir güvenlik düzeltmesi olduğunu söylemiyor). |
npm, GitHub (React) |
| 14 Ekim | Next.js 16.4.1 ve 15.5.28 yayımlanıyor; Next.js danışması aynı gün depo düzeyinde yayımlanıyor. | GitHub (Next.js) |
| 17 Ekim | Cloudflare’e göre Hash Security bir analiz ve laboratuvar PoC’si yayımlıyor (biz orijinalini okuyamadık). | Cloudflare Radar (ikincil) |
| 22 Ekim | Next.js danışması GitHub Advisory Database’e giriyor (CVE numarası yok). | GitHub |
| 8 Kasım | GitHub’da bir kullanıcı hesabında bu açığa ait PoC deposu oluşturuluyor; Cloudflare aynı tarihli notunda herkese açık bir PoC olduğunu ve bildirilmiş sömürü olmadığını yazıyor. | GitHub (yalnız depo bilgisi), Cloudflare Radar (ikincil) |
| 10 Kasım | CVE-2026-126187 rezerve ediliyor (20:07) ve yayımlanıyor (22:33); GitHub Advisory Database girişi 22:44; NVD kaydı “Received” durumunda. | cve.org, GitHub, NVD |
Açık nasıl çalışıyor?
React danışması şöyle diyor: RSC destekleyen çerçevelere yönelik özel hazırlanmış istekler uzaktan kod çalıştırmaya yol açabilir ve bu yalnızca yanıtların birden çok typed array ile saldırgan kontrollü bir değer taşıdığı çok nadir durumlarda geçerli. Cloudflare’in (ikincil, Hash Security analizine dayanarak) anlatımına göre sorun, React’in sunucu-istemci iletim protokolü olan Flight’ta bir tamponu paylaşan büyük typed array akışlarının yanlış çerçevelenmesi; okuyucu saldırganın baytlarını protokol satırı sayıp saldırgan argümanlı bir Server Action çağırabiliyor ve komut çalıştırmak için tehlikeli bir Server Action’ın var olması gerekiyor. Cloudflare bu analizi kendisi doğrulamadığını belirtiyor.
Bu yüzden iki şey aynı anda doğru: koşullar nadir olduğu için her RSC uygulaması kolayca sömürülebilir görünmüyor, ama koşullar sağlandığında etki kimlik doğrulaması olmadan sunucuda kod çalıştırma ve puan 9.5. Yamalı sürümü uygulamak bu değerlendirmeyi yapmaktan daha basit.
Kimler etkilenir?
- Doğrudan:
react-server-dom-webpack,-parcelveya-turbopackpaketlerinin yukarıdaki sürümlerini kullanan uygulamalar. Parcel paketi npm’de 19.1.0’dan başlıyor; danışma 19.0.x aralığını üç pakete de yazmış. - Next.js: Next.js danışmasına göre 16.0.0–16.4.0 etkilenir (düzeltilmiş: 16.4.1). Koşul: App Router, Cache Components ve birden çok typed array döndüren bir
use cachefonksiyonu. Danışma, benzer bir fonksiyonunuz olmasa bile hemen yükseltmenizi öneriyor. Cloudflare, Next.js’in kendi derlenmiş RSC kopyasını taşıdığını yazıyor (ikincil); Next.js danışması bunu söylemiyor, ama sonuç aynı:nextsürümünü yükseltmek gerekir. Cloudflare ayrıca 15.5.28’in React’in iletim düzeltmesini içerdiğini yazıyor; Next.js’in birincil kaynağında bunu doğrulayamadık. - Etkilenmeyenler: React kodunda sunucu kullanmayan ve RSC desteği olan bir çerçeve, bundler ya da bundler eklentisi kullanmayan uygulamalar (React danışması). Danışma somut çerçeve adları vermiyor; Vite RSC eklentileri, Waku, React Router RSC gibi çözümlerin etkilenip etkilenmediğini kaynaklardan doğrulayamadık, bunları
react-server-dom-*bağımlılığına göre değerlendirin.
Public PoC ve sömürü durumu
- PoC: GitHub’da bu açığa adanmış bir PoC deposu var; yalnızca depo bilgisini okuduk (Python betiği ve Docker laboratuvarı içerdiği, 8 Kasım’da oluşturulduğu görülüyor), kodunu açmadık ve bağlantısını yazıya koymuyoruz. Depo CVE numarası atanmadan önce oluşturulmuş; açıklaması sonradan CVE adını almış olmalı (çıkarımımız). Yani PoC haberi 11 Kasım’da çıkan yeni bir gelişme değil.
- KEV: CISA kataloğunun 10 Kasım 2026 sürümünde yok; ama bu katalog CVE yayımlanmadan önce güncellendiği için tek başına bilgi taşımıyor. Karıştırmayın: KEV’deki React kaydı (CVE-2025-55182) eski ve ayrı bir açık.
- Sömürü: Kaynaklarda doğrulanmış bir sömürü yok. Cloudflare “8 Kasım itibarıyla bildirilmiş sömürü yok” diyor; birincil kaynaklarda (danışma, CVE, NVD) sömürü ifadesi yok. 8 Kasım sonrası için birincil bir kanıtımız yok.
- Skorlar: NVD kendi puanını vermedi (“Received”), kaydın CISA-ADP (SSVC) bölümü yok ve EPSS puanı henüz yok.
Ne yapmalısınız?
- Envanter çıkarın. Projenizin kilit dosyasında ve dağıtılan imajlarda
react-server-dom-webpack,react-server-dom-parcelvereact-server-dom-turbopacksürümlerine bakın (npm ls react-server-dom-webpack react-server-dom-parcel react-server-dom-turbopackya da kilit dosyası). Monorepo’lar, farklı ortamlar ve kapsayıcı imajları için ayrı bakın; Cloudflare, kilit dosyasına ek olarak dağıtılan imajdaki gerçek sürümü doğrulamayı öneriyor (ikincil). - Güncelleyin. Sürüm hattınıza göre 19.0.9, 19.1.10, 19.2.9 veya 19.3.1 ve üstüne geçin; ardından yeniden derleyip yeniden dağıtın (imajlarda eski sürüm kalmış olabilir).
- Next.js kullanıyorsanız
next’i yükseltin. Danışmaya göre 16.4.1 bu açığı kapatıyor; ancak GitHub’a göre 3 Kasım 2026’da başka Next.js danışmaları da yayımlandı ve güncel sürümler 16.4.5 ve 15.5.29 olarak görünüyor. Mümkünse en güncel yamalı sürüme geçin; kendi sürüm hattınızdaki doğru hedefi Next.js’in danışmalarından teyit edin. - RSC kullanmıyorsanız doğrulayın. React danışması bu durumda etkilenmediğinizi söylüyor; ama kilit dosyasında bu paketlerin başka bir bağımlılıkla gelmediğini kontrol edin (bizim önerimiz).
- Bir geçici çözüm beklemeyin. Danışmalarda workaround yok, Next.js danışması “no known workaround” diyor. WAF kuralı gibi bir azaltmadan kaynaklarda söz edilmiyor; yamalı sürüm, kaynakların gösterdiği tek çözüm.
- Şüphe varsa (bizim önerimiz): Kaynaklar bir gösterge (IOC) listesi vermedi ve elimizde de yok. Yamasız bir uygulamanın sunucu süreçlerini, beklenmedik alt süreçleri ve sunucu bileşenlerine gelen alışılmadık yük boyutlarını inceleyin, kimlik bilgilerinin ve gizli anahtarların yenilenmesini değerlendirin.
- Güncelleme takibi.
npm auditbu kaydı GitHub Advisory Database’e girdikten sonra (10 Kasım 22:44 UTC’den itibaren) işaretlemelidir; Next.js danışması 22 Ekim’den beri veritabanında.
Zafiyet taraması ve sızma testi bu tür bir olayda ne işe yarar?
Önce sınırı koyalım: hiçbir tarama ya da test, uygulamanızın bu açıktan etkilenmediğini garanti etmez. Dışarıdan yapılan bir tarama sunucu tarafında çalışan kitaplık sürümlerini çoğunlukla göremez; bu açığın ana kontrolü bağımlılık envanteri ve yamadır.
- Bağımlılık ve kod incelemesi. Kaynak kod analizi, kullandığınız bağımlılıkları ve sunucu bileşenlerinde tehlikeli işlemler yapan Server Action’ları gözden geçirmeye yardımcı olabilir; kapsam incelenen koda ve erişime bağlıdır.
- Dışarıdan görünen yüzey. Web uygulaması güvenlik taraması, dışarıdan gözlenebilen bileşenleri ve yanıt davranışlarını inceler; sunucu tarafı kitaplık sürümleri her zaman görünmez.
- Sızma testi. Web uygulaması sızma testi, kimlik doğrulamasız erişilebilen sunucu işlevlerini ve yetkilendirme zafiyetlerini sistem sahibinin yazılı yetkisiyle sınar; kapsam ve istismar sınırları sözleşmeyle önceden belirlenir.
- Yeniden test. Yama sonrası yeniden test, test kapsamındaki durumun düzeldiğini gösterir; bağımlılıkların ve imajların gerçekten güncellendiğinin ayrıca doğrulanması gerekir.
Benzer bir güncelleme-öncelik konusu için Üç WordPress eklentisindeki açıklara dair rehberimize de bakabilirsiniz.
Seemarter Security ile
Web uygulamalarınızdaki bağımlılıkları ve sunucu işlevlerini incelemek için zafiyet taraması ve sızma testi hizmetlerimizi inceleyebilir ya da bizimle iletişime geçebilirsiniz. Tüm çalışmalar, sistem sahibinin yazılı yetkisiyle ve önceden anlaşılan kapsamda yürütülür.
Kaynaklar
- React: GHSA-xqc2-xf4c-x3h3, React Server Components’ta kimlik doğrulamasız RCE (14 Ekim 2026)
- CVE kaydı: CVE-2026-126187 (10 Kasım 2026)
- NVD: CVE-2026-126187
- Next.js: GHSA-673q-mjm6-r5xr,
use cachefonksiyonlarında kimlik doğrulamasız RCE - CISA: Known Exploited Vulnerabilities Catalog
Bu yazı 11 Kasım 2026’ya (TSİ) kadar yayımlanmış kaynaklara dayanır; olay sürdüğü için gelişmelere göre güncellenir. NVD zenginleştirmesi, sömürü bilgisi, KEV durumu, çerçeve bazlı etki açıklamaları (Next.js dışındaki çerçeveler) ve EPSS puanı yazıya eklenecektir.