Kerentanan CVE-2025-55182 (React2Shell) yang memungkinkan eksekusi kode jarak jauh di React dan Next.js
(securitylabs.datadoghq.com)- 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
requireModuleagar memeriksa keberadaan properti objek
- Perbaikannya mengubah fungsi
- 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
- PoC pertama (
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, menjalankanwhoami, mengunduh skrip jarak jauh melaluicurldanwget, dll. - Sebagiannya juga mencakup pencurian variabel lingkungan (
.env) dan pengumpulan informasi sistem
- Membaca
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__mengubahObject.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,bashpada 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
5 komentar
Akhir-akhir ini tim Vercel benar-benar berantakan. Sepertinya sudah waktunya meninggalkan React/Next.
Ini memang bukan tindakan yang baik, tetapi adakah penanganan yang lebih baik?
Kerentanan eksekusi kode jarak jauh (RCE) pada React dan Next.js
Tim Vercel ternyata sudah merilis perintah npx untuk memperbarui versi yang terdampak masalah ini sekaligus.
npx fix-react2shell-nextSepertinya perlu cek apakah terdampak lewat perintah
npm audit, lalu segera diperbarui..