Lewati ke isi

Berita TeknologiBerita

React2Shell CVE-2025-55182: Celah RCE di React Server

React2Shell (CVE-2025-55182) memberi penyerang akses eksekusi kode di server React dan Next.js. Cek apakah aplikasimu terdampak dan langkah upgrade-nya.

Terbit 5 menit baca

Jawaban singkat

React2Shell (CVE-2025-55182, CVSS 10.0) adalah celah eksekusi kode jarak jauh tanpa login di React Server Components versi 19.0 sampai 19.2.0. Next.js App Router 15.x dan 16.x ikut terdampak. Solusinya upgrade ke versi patch, lalu ganti semua secret aplikasi.

Daftar isi
  1. Apa sebenarnya yang rusak?
  2. Paket dan framework yang terdampak
  3. Versi Next.js mana yang aman?
  4. Langkah upgrade dan verifikasi
  5. Kenapa secret harus diganti meski sudah upgrade?
  6. Pertanyaan yang sering diajukan

Kalau aplikasimu memakai React Server Components, termasuk Next.js dengan App Router, dan belum diperbarui sejak Desember 2025, anggap server itu bisa diambil alih dari jarak jauh tanpa login.

Celah yang dijuluki React2Shell ini mendapat skor CVSS 10.0, angka tertinggi di skala itu. Penyerang cukup mengirim satu permintaan HTTP yang dirancang khusus ke endpoint Server Function, lalu kode miliknya berjalan di servermu. CISA memasukkan CVE-2025-55182 ke katalog Known Exploited Vulnerabilities pada 5 Desember 2025, artinya celah ini sudah dipakai menyerang sistem sungguhan. Per 4 November 2026, entrinya juga bertanda "Known" untuk pemakaian dalam kampanye ransomware.

Apa sebenarnya yang rusak?

Menurut blog resmi React, celah ada pada cara React mendekode payload yang dikirim ke endpoint React Server Function. Penyerang yang tidak terautentikasi bisa menyusun permintaan berbahaya, dan saat React melakukan deserialisasi, permintaan itu berujung pada eksekusi kode jarak jauh (RCE).

Celah dilaporkan oleh Lachlan Davidson lewat Meta Bug Bounty pada 29 November 2025. Perbaikan dibuat 1 Desember dan dipublikasikan ke npm sekaligus diumumkan sebagai CVE-2025-55182 pada 3 Desember 2025. Next.js mencatat dampak turunannya di advisori terpisah, CVE-2025-66478.

Paket dan framework yang terdampak

Paket React yang rentan adalah versi 19.0, 19.1.0, 19.1.1, dan 19.2.0 dari:

  • react-server-dom-webpack
  • react-server-dom-parcel
  • react-server-dom-turbopack

Versi perbaikannya 19.0.1, 19.1.2, dan 19.2.1. Framework dan bundler yang memakai paket itu ikut terdampak, antara lain:

  • next (App Router di 15.x, 16.x, dan canary 14.3.0-canary.77 ke atas)
  • react-router, waku, rwsdk
  • @parcel/rsc dan @vitejs/plugin-rsc

Advisori Next.js menyebut Next.js 13.x, 14.x stabil, aplikasi Pages Router, dan Edge Runtime tidak terdampak. React juga menegaskan aplikasi yang kode React-nya tidak memakai server, atau tidak memakai framework yang mendukung Server Components, tidak terdampak. Tapi ada catatan penting: aplikasi yang mendukung Server Components bisa tetap rentan walaupun tidak membuat Server Function sendiri.

Versi Next.js mana yang aman?

Patch awal Next.js (3 Desember 2025) adalah 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7, dan 16.0.7. Setelah itu muncul beberapa celah lanjutan di React Server Components: dua celah denial of service (CVE-2025-55184 dan CVE-2025-67779), satu celah kebocoran kode sumber (CVE-2025-55183), dan satu celah denial of service lagi pada 26 Januari 2026 (CVE-2026-23864). Karena itu React merekomendasikan versi yang lebih baru lagi.

Jalur rilis Next.jsPatch awal React2ShellRekomendasi terbaru di blog React
13.3.x sampai 14.xTidak terdampak (kecuali canary 14.3)14.2.35
15.0.x15.0.515.0.8
15.1.x15.1.915.1.12
15.2.x15.2.615.2.9
15.3.x15.3.615.3.9
15.5.x15.5.715.5.10
16.0.x16.0.716.0.11
16.1.xBelum rilis saat itu16.1.5

Tabel di atas berdasarkan halaman resmi per 4 November 2026. Untuk jalur 15.4.x, blog React mencantumkan dua nomor berbeda (15.4.10 dan 15.4.11), jadi pilih yang lebih baru atau cek advisori Next.js. Prinsipnya sederhana: pakai patch terbaru di jalur rilismu, bukan sekadar patch pertama.

Langkah upgrade dan verifikasi

  1. Cek versi yang terpasang. Jalankan npm ls next react-server-dom-webpack di folder proyek. Versi di lockfile yang menentukan, bukan rentang di package.json.
  2. Upgrade. Untuk Next.js, Vercel merilis alat npx fix-react2shell-next yang memeriksa versi dan menaikkannya ke versi yang direkomendasikan. Bisa juga manual, misalnya npm install next@16.1.5 untuk jalur 16.1. Untuk proyek non-Next.js, perbarui react, react-dom, dan paket react-server-dom-* ke versi terbaru.
  3. Build ulang dan deploy. Patch tidak berlaku sampai aplikasi dibangun dan dijalankan ulang. Kalau memakai Docker, pastikan image benar-benar dibangun ulang, bukan diambil dari cache lama.
  4. Ganti semua secret. Advisori Next.js meminta aplikasi yang online dan belum di-patch per 4 Desember 2025 pukul 13.00 PT untuk mengganti semua secret yang dipakai, mulai dari yang paling kritis: kunci API, password database, token pembayaran, kunci sesi.
  5. Cari tanda kompromi. CISA menyarankan memeriksa tanda kompromi di semua instance React yang terbuka ke internet setelah mitigasi. Periksa proses asing, cron job baru, akun baru, dan koneksi keluar yang tidak wajar.

Kenapa secret harus diganti meski sudah upgrade?

Upgrade menutup pintu, tapi tidak menghapus apa yang mungkin sudah dicuri. Dengan RCE, penyerang bisa membaca variabel lingkungan dan file konfigurasi. Advisori Next.js sendiri menautkan tulisan AWS Security Blog tentang kelompok ancaman yang mengeksploitasi React2Shell dengan cepat setelah diumumkan. Jadi bila servermu sempat terbuka dalam keadaan rentan, perlakukan semua kredensial di dalamnya sebagai bocor.

Kalau aplikasi berjalan di VPS sendiri, ini juga saat yang baik untuk mengecek dasar keamanan server: akses SSH, firewall, dan pengguna yang menjalankan proses aplikasi. Daftarnya ada di cara mengamankan VPS baru. Bila menemukan tanda server sudah dibobol, ikuti urutan di tanda website diretas dan jangan langsung menghapus jejak.

Celah middleware Next.js sebelumnya, CVE-2025-29927, punya cakupan berbeda, tapi pelajarannya sama: aplikasi self-hosted perlu jadwal pembaruan dependensi yang rutin, bukan hanya saat ada berita besar. Daftar celah yang sedang dieksploitasi bisa kamu pantau lewat katalog KEV CISA.

Pertanyaan yang sering diajukan

Aplikasi saya pakai React biasa tanpa Next.js, apakah terdampak?

Kalau React hanya berjalan di browser dan tidak memakai framework atau bundler yang mendukung React Server Components, tidak terdampak menurut blog resmi React.

Apakah aplikasi di Vercel atau Netlify sudah otomatis aman?

Penyedia hosting besar merilis perlindungan di sisi platform, tapi advisori tetap meminta semua pengguna upgrade ke versi patch. Perlindungan platform bukan pengganti upgrade.

Saya sudah upgrade ke 16.0.7, perlu upgrade lagi?

Ya. Versi itu menutup React2Shell, tapi celah lanjutan yang dirilis Desember 2025 dan Januari 2026 butuh versi lebih baru, misalnya 16.0.11 untuk jalur 16.0.

Sumber & referensi

Baca juga