Baru-baru ini, ekosistem pengembangan aplikasi web kembali dihebohkan dengan temuan kerentanan tingkat Kritis (Critical) pada Node.js. Pada tanggal 21 Oktober 2026, proyek Node.js merilis pembaruan keamanan darurat untuk menambal 10 celah keamanan, dengan satu kerentanan utama yang paling menyita perhatian: CVE-2026-111497.
Membawa skor CVSS mencapai 9.2, celah ini memungkinkan peretas melakukan Remote Code Execution (RCE) dengan mengeksploitasi fitur kompresi Brotli yang terintegrasi di dalam Node.js. Ancaman ini mendapatkan julukan “Node2Shell” atau “HTTP2Shell” di kalangan periset keamanan karena kemampuannya memberikan akses shell langsung kepada peretas.
Membedah Kerentanan Node2Shell (CVE-2026-111497)#
Inti dari kerentanan ini bukan berasal dari kode bahasa pemrograman JavaScript itu sendiri, melainkan dari Brotli-pustaka kompresi data buatan Google yang ditanamkan (bundled) sebagai dependensi internal oleh Node.js.
Saat sebuah aplikasi Node.js menerima dan mendekompresi data berformat Brotli dari sumber yang tidak tepercaya (misalnya melalui HTTP client, proxy yang menerima Content-Encoding: br, atau fitur unggah file yang terkompresi), proses dekode data akan berjalan.
Celahnya (Out-of-Bounds Write):Kerentanan terjadi ketika modul dekoder Brotli ini menerima data kompresi yang sengaja dirakit (dimanipulasi) oleh penyerang. Ketika dekoder menemui format “pergantian blok (block switch)” yang tidak valid pada data tersebut, ia gagal mengenalinya sebagai error format. Alih-alih menghentikan proses, sistem justru menganggapnya sebagai kebutuhan sementara untuk memasukkan input tambahan.
Akibat cacat logika ini, dekoder yang memproses data berlanjut (streaming) akan terus-menerus menambahkan byte input ke dalam buffer internal berukuran 8-byte. Proses ini menyebabkan data meluap dan menimpa area memori di luar batas buffer yang dialokasikan (dikenal dengan istilah kelemahan Out-of-Bounds Write).
Korupsi memori inilah yang menjadi gerbang eksekusi. Jika penyerang menyusun muatan byte yang presisi, luapan data tersebut dapat dimanipulasi menjadi perintah. Penyerang akhirnya mampu mengeksekusi kode perintah jarak jauh (RCE) dengan hak akses yang sama dengan proses Node.js yang sedang berjalan.
Eskalasi dan Dampak Ekosistem#
Pada tanggal 27 Oktober 2026, badan keamanan siber Amerika Serikat (CISA) secara resmi memasukkan CVE-2026-111497 ke dalam daftar Known Exploited Vulnerabilities (KEV). Artinya, sudah ada bukti forensik nyata bahwa peretas aktif mengeksploitasi celah ini di internet.
Karena kerentanan ini berakar dari pustaka hulu Google Brotli, dampaknya tidak terbatas pada Node.js saja. Teknologi lain yang turut membundel versi Brotli yang cacat tersebut-seperti Bun, Python (paket kompresi Brotli), dan beberapa software gateway-juga ikut rentan terhadap jenis serangan yang sama jika aplikasi mereka memproses data terkompresi dari pihak luar.
Langkah Mitigasi: Apa yang Harus Dilakukan Administrator?#
Satu-satunya cara mutlak untuk menutup celah ini adalah dengan memperbarui (upgrade) runtime Node.js yang digunakan.
- Pembaruan Versi Node.js (Sangat Direkomendasikan) Segera perbarui lingkungan Node.js Anda ke versi berikut:
- Node.js 26.12.1
- Node.js 24.22.1
- Node.js 22.23.4
(Catatan: Versi Node.js 20.x dan di bawahnya sudah mencapai End-of-Life (EOL) dan tidak akan menerima pembaruan ini. Pengguna diwajibkan segera bermigrasi ke versi 22.x atau yang lebih baru).
Tinjau Image Container (Docker) Bagi Anda yang mendeploy aplikasi menggunakan container, perbarui instruksi pada
Dockerfileuntuk menggunakan tag versi yang sudah ditambal. Lakukan proses pull gambar secara manual (docker pull) dan lakukan build ulang gambar tersebut untuk memastikan sistem tidak secara keliru memuat memori tembolok (cache) berisi runtime Node.js lawas yang masih rentan.Mitigasi Sementara (Workaround) Jika aplikasi tidak bisa langsung diperbarui, saran tindakan penanggulangan sementara dengan menonaktifkan atau membatasi fungsi aplikasi web yang menerima atau mendekompresi unggahan data Brotli yang tidak tepercaya. Administrator juga disarankan memantau proses web yang menghadap internet guna mendeteksi aktivitas pemijahan shell (shell spawns) yang tidak wajar.

