Badan keamanan siber Amerika Serikat, CISA, memasukkan CVE-2026-111497 ke katalog celah yang dieksploitasi (KEV) pada 27 Oktober 2026. Celah ini ada di dekoder Brotli yang dibundel dalam Node.js dan dijuluki Node2Shell. NVD memberinya skor CVSS 3.1 sebesar 9,8, sedangkan Node.js sendiri menilainya tinggi.
Apa yang terjadi di dekoder Brotli
Menurut pengumuman Node.js, dekoder Brotli yang dibundel salah menafsirkan blok berformat tidak valid sebagai permintaan tambahan masukan, bukan sebagai galat permanen. Dekoder streaming lalu terus menambahkan byte ke buffer internal delapan byte dan menulis melewati ujungnya. Penyerang yang bisa mengirim data Brotli ke aplikasi yang mendekompresinya lewat node:zlib dapat merusak memori proses. Akibatnya bisa berupa proses mogok, bocornya isi memori, atau eksekusi kode jarak jauh. Celah ini dilaporkan oleh OpenAI Codex Security, yaitu Khai Tran dan Sylvie Mayer.
Singapore Cyber Security Agency (CSA) mencatat bahwa bukti konsep publik sudah beredar dan celah ini dilaporkan aktif dieksploitasi. Rescana, yang menjadi sumber untuk rincian lain di artikel ini, menyebut CISA belum mengungkap siapa pelakunya dan target mana yang terkena. Perusahaan intelijen ancaman ELLIO melaporkan lalu lintas serangan pada 26 Oktober yang membidik Node.js 24.22.0 di x86-64, tetapi dalam pengujiannya rangkaian itu hanya membuat proses mogok. Node.js belum mengeluarkan pernyataan soal eksploitasi. Karena sebagian rincian ini bersumber dari satu pihak, anggap statusnya sebagai laporan, bukan temuan yang sudah diverifikasi luas.
Versi terdampak dan versi perbaikan
Node.js merilis perbaikan pada 21 Oktober 2026 untuk tiga cabang yang masih didukung: 22.x diperbaiki di 22.23.4, 24.x di 24.22.1, dan 26.x di 26.12.1. Versi di bawah angka itu rentan. Rescana menambahkan bahwa cabang yang sudah habis masa dukungnya, seperti 25.x, 23.x, dan 20.x, ikut terdampak tanpa perbaikan, sehingga pemakainya perlu pindah ke cabang yang didukung.
Dampaknya melampaui Node.js. CSA mencantumkan Microsoft .NET 8, 9, 10, dan 11 sebagai produk terdampak. Menurut Rescana, perbaikan .NET ada di 8.0.33, 9.0.22, dan 10.0.14, sementara paket Python brotli dan brotlicffi diperbaiki di 1.2.1 dan 1.2.1.0. Pola penamaan ini mirip kasus PHP2Shell yang kami bahas sebelumnya, tetapi ini celah yang berbeda.
Langkah yang perlu Anda ambil
Perbarui semua runtime Node.js ke versi perbaikan, termasuk yang tertanam di image kontainer, agen build, dan alat CLI. Pasang pembaruan .NET dan paket Brotli di Python, lalu bangun ulang image. Memperbarui paket npm seperti Express atau body-parser tidak menutup celah runtime ini. Selama belum sempat menambal, batasi masukan Brotli dari sumber tidak tepercaya; untuk badan permintaan masuk, opsi inflate: false pada body-parser bisa membantu. Aturan WAF hanya solusi sementara karena tidak mencakup respons yang diambil aplikasi dari luar. Periksa juga layanan yang terbuka ke internet dan menerima badan permintaan terkompresi Brotli sebelum ditambal.
Bagi tim Indonesia yang menjalankan API Node.js atau layanan .NET di server sendiri maupun kontainer, inventarisasi versi hari ini lebih murah daripada membersihkan server yang sudah disusupi. Tenggat perbaikan bagi lembaga federal AS ditetapkan 10 November 2026.
Sumber: Node.js, Cyber Security Agency of Singapore, dan Rescana. Gambar: Rescana.
