Security

Celah Kritis React dan Next.js Izinkan Eksekusi Kode di Server

Sebuah kerentanan dengan tingkat keparahan maksimum ditemukan pada React Server Components (RSC) melalui protokol Flight. Celah ini, yang dijuluki React2Shell, memungkinkan eksekusi kode jarak jauh tanpa autentikasi pada aplikasi berbasis React maupun Next.js..

Detail Kerentanan

Masalah ini berasal dari proses insecure deserialization yang gagal memvalidasi struktur payload RSC. Kerentanan tersebut diberi skor 10/10 dan tercatat dengan identitas CVE-2025-55182 untuk React serta CVE-2025-66478 untuk Next.js. . Peneliti keamanan Lachlan Davidson menemukan celah ini pada 29 November dan melaporkannya kepada tim React. Ia menjelaskan bahwa serangan dapat dilakukan dengan mengirimkan HTTP request khusus ke endpoint React Server Function.

Peringatan resmi menyebutkan bahwa meskipun aplikasi tidak menggunakan endpoint React Server Function, tetap ada risiko jika mendukung React Server Components. Paket yang terdampak dalam konfigurasi default meliputi:

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

Dampak pada Ekosistem

React, yang dikembangkan oleh Meta, dan Next.js, yang dikelola Vercel, merupakan fondasi utama dalam pengembangan web modern. Keduanya banyak digunakan di lingkungan cloud untuk mendukung arsitektur skala besar. Peneliti dari Wiz menegaskan bahwa kerentanan ini mudah dieksploitasi dan terdapat pada konfigurasi default paket terkait.

Menurut data, sekitar 39% lingkungan cloud yang diamati menjalankan versi React atau Next.js yang rentan terhadap CVE-2025-55182 maupun CVE-2025-66478. Celah serupa juga diperkirakan ada pada pustaka lain yang mengimplementasikan React Server, termasuk Vite RSC plugin, Parcel RSC plugin, React Router RSC preview, RedwoodSDK, dan Waku.

Versi yang Terdampak dan Perbaikan

Kerentanan ini ditemukan pada React versi 19.0, 19.1.0, 19.1.1, dan 19.2.0. Sementara Next.js terdampak pada rilis canary mulai dari 14.3.0-canary.77 serta seluruh rilis 15.x dan 16.x sebelum versi perbaikan.

Pengembang disarankan segera memperbarui ke versi aman:

  • React: 19.0.1, 19.1.2, 19.2.1
  • Next.js: 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7, 16.0.7

Penjelasan Teknis

Endor Labs menjelaskan bahwa React2Shell merupakan kerentanan deserialisasi logis, di mana server gagal memvalidasi data yang diterima. Hal ini memungkinkan eksekusi kode JavaScript dengan hak istimewa di sisi server. Davidson juga mengingatkan adanya proof-of-concept palsu yang beredar, yang menggunakan fungsi seperti vm#runInThisContext, child_process#exec, dan fs#writeFile. Menurutnya, eksploitasi nyata tidak membutuhkan fungsi tersebut dan tidak berlaku pada Next.js karena daftar fungsi server dikelola otomatis.

Popularitas dan Risiko

Dengan lebih dari 55,8 juta unduhan mingguan untuk React dan 16,7 juta unduhan untuk Next.js di NPM, kerentanan ini berpotensi berdampak luas. Organisasi disarankan segera melakukan audit lingkungan mereka untuk memastikan tidak menggunakan versi rentan dan mengambil langkah mitigasi yang diperlukan.

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button