CVE-2025-55182 (React2Shell): React ve Next.js'te Uzaktan Kod Çalıştırma Açığı
(securitylabs.datadoghq.com)- React Server Components içinde yetkilendirme olmadan keyfi kod çalıştırılmasına izin veren bir uzaktan kod çalıştırma (RCE) açığı bulundu ve acil yükseltme gerekli
- Next.js de etkilenenler arasında; App Router özelliği kullanılıyorsa açıktır. Next.js bunu CVE-2025-66478 olarak takip ediyor
- Bu açığın kök nedeni sunucu taraflı prototip kirlenmesi (server-side prototype pollution) olup, saldırganın JavaScript nesnesinin prototipini manipüle ederek
child_process.execSyncgibi yöntemlerle komut çalıştırmasına izin veriyor - Açık PoC (kanıta dayalı kanıt) kodu hızla yayıldı ve Datadog, 5 Aralık itibarıyla 800'den fazla IP'de gerçek saldırı denemesi tespit etti
- CVSS puanı 10 olan bu açık, Next.js 15.x~16.x sürümlerinde özellikle kritik olup en yeni güvenlik yaması uygulanması zorunludur
Temel Güvenlik Açığı Özeti
- 3 Aralık'ta, kimlik doğrulama olmadan keyfi kod çalıştırmaya izin veren bir açık React Server Components içinde keşfedildi ve CVE-2025-55182 olarak kaydedildi
- Açık sunucu tarafında çalışıyor ve saldırganın uzaktan kod çalıştırmasına imkân sağlıyor
- Next.js bu kırılgan bileşeni içinde barındırdığı için etkilenenler arasındadır
- Next.js bu durumu CVE-2025-66478 olarak ayrı yönetiyor ancak NVD bu CVE'yi resmi olarak reddediyor
- CVSS puanı 10/10 olarak verilmiş olup, Datadog saldırının çok basit olduğunu ve temel şablonla oluşturulmuş bir Next.js uygulamasında bile yeniden üretilebildiğini doğruladı
- 5 Aralık itibarıyla silahlandırılmış payload içeren gerçek saldırı denemeleri gözlemlendi
Etkilenen Sürümler ve Azaltma Yöntemleri
- Kırılgan React kütüphaneleri:
react-server-dom-parcel,react-server-dom-webpack,react-server-dom-turbopack- Etkili sürümler: 19.0~19.2.0 / Yama sürümleri: 19.0.1, 19.1.2, 19.2.1
- Next.js etkilenen sürümleri
- Etkili: 15.x, 16.x, 14.3.0-canary.77 sonrası
- Yama: 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7, 16.0.7
npm auditkomutuyla kırılgan olup olmadığı kontrol edilebilir- Çözüm, yamalı sürümlere yükseltme
Açığın Analizi ve PoC
- 3 Aralık'ta React deposuna yama kodu işlendi
- Düzeltme,
requireModulefonksiyonunda bir nesnenin özellik varlığı kontrol edilecek şekilde değiştirildi
- Düzeltme,
- Bu açık sunucu taraflı prototip kirlenmesi tipinde; nesnenin prototipini kirleterek keyfi kod çalıştırmaya imkan veriyor
- Yayınlanan PoC'ler:
- İlk PoC (
ejpir/CVE-2025-55182-poc) çalışmayan durumdadır - İkinci PoC (
msanft/CVE-2025-55182) temel Next.js uygulamasında da çalışır - 5 Aralık'ta orijinal raporlayan Lachlan Davidson, üç farklı resmi PoC yayını yaptı
- İlk PoC (
Gerçek Saldırı Etkinliği
- Datadog, 3 Aralık 22:00 (UTC) itibarıyla tarama faaliyetleri tespit etti
- 5 Aralık itibarıyla 800'den fazla IP üzerinden tarama ve saldırı girişimleri doğrulandı
- İki veya daha fazla kuruluş hedef alındı ve 4 Aralık sonrası devam eden etkinlik gözlendi
- Saldırı akışı:
- Başlangıçta çalışmayan PoC tabanlı tarama
- Daha sonra Moritz Sanft'un PoC'su, en sonunda Davidson'un PoC'su şeklinde payload değişimi
- Gözlenen payload'lar:
/etc/passwdokuma,whoamiçalıştırma,curl·wgetile uzaktan betik indirme gibi- Bazılarında ortam değişkeni (
.env) çalma ve sistem bilgisi toplama özelliği bulunuyordu
Sunucu Taraflı Prototip Kirlenmesi Kavramı
- CWE-1321 türünde bir hata, nesne prototipi özellikleri yanlış kontrol edildiğinde ortaya çıkar
- Genelde ön yüzde XSS ile istismar edilebilse de sunucu tarafında RCE veya dosya okuma ile sonuçlanabilir
- Örnek kodda
__proto__üzerinden yapılan kirlenme ileObject.prototypedeğiştirilir ve sonrasında oluşturulan tüm nesneler etkilenir - Sonuç olarak,
spawnSync('sh')çağrısında zararlı bir komut girdi olarak iletilerek çalıştırılır
Datadog'un Tespit ve Savunma Özellikleri
- Datadog Code Security GitHub veya çalışma zamanında kırılgan kütüphaneleri tespit eder
- CVE-2025-55182 veya CVE-2025-66478 ile ilgili arama sağlar
- Datadog App and API Protection (AAP) runtime'da saldırıyı engelleyebilir
- Datadog Workload Protection, Node süreçlerinde
wget,curl,bashgibi komut yürütmelerini tespit eden özel kurallar sunar
Referanslar
- Resmi öneri: React, Next.js
- Bulut sağlayıcı yanıtları: AWS, Vercel, Google Cloud, Akamai, Cloudflare
- Güvenlik firması analizi: Wiz, Tenable, SearchLight Cyber
- CERT uyarıları: CERT-EU, CERT-SE, CERT-AU
- Açık tarayıcı: assetnote/react2shell-scanner
5 yorum
Bu aralar Vercel ekibi tam bir dağınıklık içinde. Görünüşe göre React/Next’ten çıkmanın zamanı gelmiş.
İyi yapılmış bir şey değil ama daha iyi bir müdahale yolu var mı?
React ve Next.js'te uzaktan kod çalıştırmaya (RCE) olanak tanıyan güvenlik açığı
Vercel ekibi, ilgili sorunlu sürümleri tek seferde güncelleyen bir npx komutu yayımlamış.
npx fix-react2shell-nextGörünüşe göre
npm auditkomutuyla etkilenip etkilenmediğini kontrol edip güncellemek gerekecek..