Cakrawala News – 24 Oktober 2026 | Sebuah kerentanan keamanan serius ditemukan pada node js, runtime JavaScript yang menjadi tulang punggung banyak layanan web dan aplikasi cloud modern. Celah yang dijuluki “Node2Shell” itu memungkinkan penyerang menjalankan kode berbahaya dari jarak jauh tanpa autentikasi, sehingga berpotensi membuat pelaku menguasai server yang terdampak. Node.js Project telah merilis pembaruan darurat dan mengklasifikasikan kerentanan ini dalam tingkat keparahan “tinggi”.
Menurut catatan National Vulnerability Database (NVD) dan laporan perusahaan keamanan Aikido, kerentanan ini terdaftar sebagai CVE-2026-111497. Akar masalahnya berada pada pustaka kompresi data Brotli milik Google yang disertakan di dalam runtime node js. Celah tersebut ditemukan melalui aktivitas red team yang menggunakan agen kecerdasan buatan, dengan peneliti dari OpenAI Codex Security, Kai Tran dan Silvie Meyer, tercatat sebagai penemunya dalam pengumuman keamanan Node.js Project.
Secara teknis, cacat berada pada kode sumber decoder Brotli, tepatnya berkas c/dec/decode.c, pada versi 1.0.3 hingga 1.2.0. Jenis kelemahannya adalah buffer overflow, yang diperinci sebagai kegagalan memverifikasi nilai kembalian (CWE-252) dan penulisan di luar batas memori (CWE-787). Ketika decoder memproses aliran data Brotli yang sengaja dimanipulasi, data ditulis melewati batas buffer yang telah dialokasikan sehingga merusak memori kondisi decoder di sekitarnya.
Dampaknya bisa berlapis. Penyerang tanpa autentikasi dapat mencuri isi memori server yang sensitif, memicu kondisi service denial atau DoS, hingga menjalankan kode berbahaya miliknya sendiri. Karena node js menyertakan pustaka Brotli secara internal, seluruh versi resmi yang didukung sebelum pembaruan 21 Oktober 2026 berada dalam cakupan risiko. Runtime alternatif Bun juga terkonfirmasi terdampak pada versi di bawah 1.4.4.
Jalur Serangan yang Perlu Diwaspadai
Analisis terhadap kerentanan ini membagi jalur paparan ke dalam tiga kategori utama. Pertama, lingkungan web server yang menerima permintaan dari klien eksternal. Server HTTP bawaan node js sebenarnya tidak otomatis mendekode body permintaan Brotli, tetapi kombinasi framework populer Express 5 dan middleware body-parser 2.x dapat secara otomatis mendekompresi body permintaan berheader Content-Encoding: br. Konfigurasi inilah yang membuat layanan rentan terhadap paket serangan dari luar.
Kedua, jalur komunikasi keluar atau outbound. Fungsi fetch() bawaan node js otomatis mendekompresi respons Brotli dari server eksternal. Jika sebuah layanan mengirim webhook ke server yang dikuasai penyerang atau memanggil URL yang dapat dikendalikan pengguna, proses penerimaan dan dekompresi data respons itu bisa berbalik menjadi serangan terhadap server internal.
Ketiga, kode aplikasi atau framework yang meneruskan input eksternal tanpa validasi langsung ke fungsi dekompresi Brotli pada modul node:zlib, seperti brotliDecompress. Perlu dicatat, tim Imperva yang menguji kerentanan ini menegaskan bahwa masalahnya bukan pada Express atau body-parser, melainkan pada decoder Node.js yang dipanggil keduanya.
Bukti Eksploitasi dan Langkah Perbaikan
Kemungkinan eksploitasi telah dibuktikan di dunia nyata. Sehari setelah patch dirilis, pada 22 Oktober 2026, kode proof of concept (PoC) mulai bermunculan. PoC awal hanya berjalan pada build uji yang sengaja dilemahkan, tetapi pada hari yang sama peneliti keamanan melaporkan keberhasilan eksekusi kode jarak jauh pada image resmi Node.js 24.22.0 yang belum dipatch di lingkungan Linux arm64. Imperva menyatakan input yang sama ditolak oleh versi perbaikan 24.22.1, meski pengujian tersebut memerlukan beberapa kali percobaan pada konfigurasi dan lingkungan operasi tertentu.
Pembaruan keamanan 21 Oktober 2026 mencakup tiga cabang versi, yaitu 26.x, 24.x, dan 22.x, serta menangani total 10 kerentanan: empat berkategori berisiko tinggi, tiga sedang, dan tiga rendah. Selain cacat decoder Brotli, patch mencakup penanganan karakter null yang tidak tepat dan pemotongan nama DNS, dua kelemahan yang memungkinkan bypass validasi nama host sertifikat TLS, serta perbaikan pada penanganan respons koneksi persisten, duplikasi cache angka acak, dan model kontrol akses. Pustaka dependensi seperti c-ares, OpenSSL, dan Undici juga diperbarui.
Langkah utama bagi operator adalah segera meningkatkan versi runtime node js sesuai cabang distribusinya:
- Node.js 26.x ke versi 26.12.1 atau lebih baru
- Node.js 24.x LTS ke versi 24.22.1 atau lebih baru
- Node.js 22.x LTS ke versi 22.23.4 atau lebih baru
- Bun ke versi 1.4.4 atau lebih baru
- Pustaka Brotli mandiri ke versi 1.2.1, 1.1.1, atau 1.0.10
Bagi pengguna versi lama yang dukungan teknis resminya telah berakhir, seperti Node.js 25.x, 23.x, 20.x, dan versi sebelumnya, tidak tersedia patch. Mereka disarankan bermigrasi ke versi long-term support (LTS). GitHub Security Advisory juga mencatat paket Python Brotli versi 1.0.3 hingga di bawah 1.2.1 dan brotlicffi versi 1.0.3 hingga di bawah 1.2.1.0 sebagai terdampak, dengan perbaikan pada versi 1.2.1 dan 1.2.1.0.
Kerentanan ini menjadi pengingat bahwa komponen kompresi yang sering dianggap remeh dapat menjadi pintu masuk serangan berskala besar. Publikasi patch dan penerapannya di lapangan adalah dua hal berbeda. Operator perlu memeriksa bukan hanya pustaka yang terpasang di sistem operasi, tetapi juga versi node js dan Brotli yang tertanam di dalam aplikasi serta image kontainer pada lingkungan produksi. Prioritas pemeriksaan sebaiknya diberikan pada layanan yang berinteraksi dengan API eksternal, sistem pemroses webhook, dan aplikasi yang mengambil data dari URL masukan pengguna.
Hingga saat ini belum ada laporan resmi yang mengonfirmasi bahwa kerentanan Node2Shell telah dieksploitasi secara nyata pada bursa aset kripto atau layanan dompet digital. Meski demikian, keberadaan PoC yang berfungsi di lingkungan resmi menjadikan pembaruan versi sebagai langkah yang tidak bisa ditunda.












