- Ditemukan kerentanan eksekusi kode jarak jauh (RCE) di React Server Components yang memungkinkan eksekusi kode arbitrer tanpa autentikasi, sehingga perlu segera dilakukan upgrade
- Next.js juga terdampak, dan rentan bila menggunakan fitur App Router. Next.js sedang melacaknya sebagai CVE-2025-66478
- Akar masalah kerentanan ini adalah server-side prototype pollution yang memungkinkan penyerang memanipulasi prototipe objek JavaScript untuk mengeksekusi perintah seperti
child_process.execSync
- Kode PoC (proof of concept) publik menyebar dengan cepat, dan Datadog mendeteksi percobaan serangan nyata dari lebih dari 800 IP per 5 Desember
- Kerentanan ini diberi skor CVSS 10 dan sangat serius terutama pada Next.js versi 15.x~16.x, sehingga penerapan patch terbaru wajib dilakukan
Ringkasan utama kerentanan
- Pada 3 Desember, ditemukan kerentanan di React Server Components yang memungkinkan eksekusi kode arbitrer tanpa autentikasi, dan didaftarkan sebagai CVE-2025-55182
- Kerentanan berjalan di sisi server, sehingga penyerang dapat mengeksekusi kode dari jarak jauh
- Next.js terdampak karena menyertakan komponen yang rentan tersebut
- Next.js mengelolanya secara terpisah sebagai CVE-2025-66478, tetapi NVD secara resmi menolak CVE tersebut
- Skor CVSS adalah 10/10, dan Datadog mengonfirmasi bahwa serangannya sangat mudah serta dapat direproduksi bahkan pada aplikasi Next.js yang dibuat dari template bawaan
- Per 5 Desember, telah diamati percobaan serangan nyata dengan payload yang telah dipersenjatai
Versi yang terdampak dan cara mitigasi
- Library React yang rentan:
react-server-dom-parcel, react-server-dom-webpack, react-server-dom-turbopack
- Versi rentan: 19.0~19.2.0 / versi patch: 19.0.1, 19.1.2, 19.2.1
- Versi Next.js yang terdampak
- Rentan: 15.x, 16.x, setelah 14.3.0-canary.77
- Patch: 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7, 16.0.7
- Status kerentanan dapat diperiksa dengan perintah
npm audit
- Solusinya adalah upgrade ke versi yang sudah dipatch
Analisis kerentanan dan PoC
- Pada 3 Desember, kode patch dikomit ke repositori React
- Perbaikannya mengubah fungsi
requireModule agar memeriksa keberadaan properti objek
- Kerentanan ini termasuk jenis server-side prototype pollution, yang memungkinkan eksekusi kode arbitrer dengan mencemari prototipe objek
- PoC yang dipublikasikan:
- PoC pertama (
ejpir/CVE-2025-55182-poc) tidak berfungsi
- PoC kedua (
msanft/CVE-2025-55182) berjalan bahkan pada aplikasi Next.js dasar
- Pada 5 Desember, pelapor awal Lachlan Davidson merilis PoC resmi dengan tiga variasi
Aktivitas serangan nyata
- Datadog mendeteksi aktivitas pemindaian sejak 3 Desember pukul 22:00 (UTC)
- Per 5 Desember, pemindaian dan percobaan serangan terkonfirmasi dari lebih dari 800 IP
- Sedikitnya dua organisasi menjadi target, dan aktivitas berlanjut sejak 4 Desember
- Alur serangan:
- Awalnya pemindaian berbasis PoC yang tidak berfungsi
- Setelah itu payload diganti berturut-turut ke PoC milik Moritz Sanft, lalu PoC milik Davidson
- Payload yang teramati:
- Membaca
/etc/passwd, menjalankan whoami, mengunduh skrip jarak jauh melalui curl dan wget, dll.
- Sebagiannya juga mencakup pencurian variabel lingkungan (
.env) dan pengumpulan informasi sistem
Konsep server-side prototype pollution
- Ini termasuk kategori CWE-1321, yang terjadi saat properti prototipe objek dikendalikan secara tidak semestinya
- Biasanya dieksploitasi sebagai XSS di frontend, tetapi di sisi server dapat berkembang menjadi RCE atau pembacaan file
- Dalam contoh kode, pencemaran melalui
__proto__ mengubah Object.prototype, sehingga semua objek yang dibuat setelahnya ikut terdampak
- Akibatnya, saat
spawnSync('sh') dipanggil, perintah berbahaya dapat diteruskan sebagai input dan dieksekusi
Fitur deteksi dan pertahanan Datadog
- Datadog Code Security dapat mendeteksi library rentan di GitHub atau saat runtime
- Menyediakan fitur pencarian terkait CVE-2025-55182 atau CVE-2025-66478
- Datadog App and API Protection (AAP) dapat memblokir serangan saat runtime
- Datadog Workload Protection menyediakan aturan kustom untuk mendeteksi eksekusi perintah seperti
wget, curl, bash pada proses Node
Referensi
- Peringatan resmi: React, Next.js
- Respons penyedia cloud: AWS, Vercel, Google Cloud, Akamai, Cloudflare
- Analisis perusahaan keamanan: Wiz, Tenable, SearchLight Cyber
- Peringatan CERT: CERT-EU, CERT-SE, CERT-AU
- Pemindai publik: assetnote/react2shell-scanner
Belum ada komentar.