2025 yılı sonunda meydana gelen, React2Shell olarak adlandırılan bu zafiyet, React Server Components (RSC) ‘Flight’ protokolünde bulunan kritik bir güvenlik açığıdır. Bu zafiyet, React ve Next.js uygulamalarında kimlik doğrulama gerektirmeksizin uzaktan kod yürütme (RCE) olanağı sağlayarak büyük bir tehlike oluşturuyor.
Güvenlik Açığının Ayrıntıları
Bu güvenlik sorunu, güvensiz deserialization’dan kaynaklanmaktadır. React, bu açığı 10 üzerinden 10 puanla değerlendirdi ve CVE-2025-55182 (React için) ile CVE-2025-66478 (Next.js için, ancak bu CVE, Ulusal Açık Hata Veri Tabanı’nda reddedildi) ile etiketlendi. Güvenlik araştırmacısı Lachlan Davidson, bu açığı 29 Kasım 2025’te duyurdu. Davidson, bir saldırganın, özel olarak şekillendirilmiş bir HTTP isteği göndererek React Server Function uç noktalarında uzaktan kod yürütme (RCE) gerçekleştirebileceğini tespit etti.
React tarafından yayımlanan güvenlik duyurusuna göre, uygulamanız herhangi bir React Server Function uç noktası uygulamasa bile, React Server Components (RCS) destekliyorsa hala savunmasız olabilir.
Etki Alanı ve Etkilenen Paketler
Etki alanı oldukça geniştir ve aşağıdaki paketler varsayılan yapılandırmaları ile etkilenmektedir:
- react-server-dom-parcel
- react-server-dom-turbopack
- react-server-dom-webpack
React, Meta tarafından sürdürülen ve ön uç web geliştirmede geniş çapta benimsenmiş bir açık kaynak JavaScript kütüphanesidir. Diğer yandan, Vercel tarafından geliştirilen Next.js, React üzerine inşa edilmiş bir çerçevedir ve sunucu tarafında render etme, yönlendirme ve API uç noktaları ekler.
Wiz bulut güvenliği platformunda yapılan araştırmalar gösteriyor ki, bu zafiyet, etkilenen paketlerin varsayılan yapılandırması altında kolaylıkla sömürülebilmektedir.
Etki ve Çözümler
React, zafiyetin 19.0, 19.1.0, 19.1.1 ve 19.2.0 sürümlerinde mevcut olduğunu belirtmektedir. Next.js ise 14.3.0-canary.77 ile başlayan deneme sürümlerinde etkilenmekte ve 15.x ve 16.x dallarından, yamanmamış tüm sürümler bu zafiyetten etkilenmektedir. Wiz araştırmacıları, bulundukları ortamlarda 39% oranında Next.js veya React kullanılan ortamların bu zafiyete maruz kaldığını ortaya koymuştur.
Bu zafiyet, React Server Components (RSC) tarafından kullanılan ‘react-server’ paketinde bulunmaktadır ve Next.js, RSC “Flight” protokolünün uygulanması yoluyla bu zafiyeti miras alır. Yazılım tedarik zinciri güvenliği şirketi Endor Labs, React2Shell’in “mantıksal olarak güvensiz deserialization zafiyeti” olduğunu ve sunucunun gelen RSC payload’larının yapısını doğrulamakta başarısız olduğunu açıklamaktadır.
Davidson, React2Shell web sitesi oluşturmuştur ve burada teknik detayları yayımlamayı planlamaktadır. Ayrıca gerçek olmayan kanıt konsepti (PoC) istismarları hakkında uyarılarda bulunmaktadır.
Geliştiricilerin, React 19.0.1, 19.1.2 ve 19.2.1 sürümleri ile Next.js 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7 ve 16.0.7 sürümlerinde mevcut olan güncellemeleri uygulamaları şiddetle önerilmektedir. Kurumlar, ortamlarda bu zafiyetten etkilenen sürümlerin kullanım durumlarını denetlemeli ve gerekli önlemleri almalıdır.
React’in haftalık indirme sayısı 55.8 milyon, Next.js’in ise 16.7 milyon olarak kaydedilmiştir, bu da iki çözümün popülaritesinin önemli bir göstergesidir.


