Pada 21 Oktober 2026, tim Node.js merilis pembaruan keamanan untuk tiga lini versi sekaligus: 26.12.1, 24.22.1 (LTS terbaru), dan 22.23.4. Rilis ini menambal 10 celah keamanan, 4 di antaranya berstatus High (tingkat tertinggi dalam rilis ini). Satu celah paling mengkhawatirkan: bug pada dekoder Brotli yang menurut pengumuman resmi memungkinkan eksekusi kode dari jarak jauh (RCE).
Artikel ini menjelaskan dengan bahasa sederhana: apa saja celahnya, siapa yang berisiko, apa yang harus Anda lakukan hari ini, dan di mana Anda bisa memeriksa sendiri faktanya.
Ringkasan 30 detik
- Yang terjadi: 10 celah ditambal, 4 High, 3 Medium, 3 Low.
- Paling serius: CVE-2026-111497, tulis memori di luar batas (out-of-bounds write) pada dekoder Brotli yang bisa berujung RCE.
- Versi aman: Node.js 26.12.1, 24.22.1, atau 22.23.4.
- Versi yang sudah EOL (misalnya 18, 20, 23, 25) tidak mendapat perbaikan. Pindah ke lini yang masih didukung.
- Solusi utama: update Node.js. Halaman resmi tidak menyebut solusi sementara (workaround).
Istilah yang perlu Anda tahu
| Istilah | Artinya dengan bahasa sederhana |
|---|---|
| CVE | Nomor identitas sebuah celah keamanan, seperti nomor KTP-nya. Dengan nomor ini Anda bisa mencari penjelasan resminya. |
| RCE | Remote Code Execution: penyerang bisa menjalankan perintah di komputer/server Anda dari jauh. Jenis celah paling berbahaya. |
| Brotli | Format kompresi data (seperti ZIP, tetapi untuk web). Banyak dipakai untuk memperkecil ukuran halaman dan file yang dikirim lewat internet. |
| Dekoder | Bagian program yang membuka (men-dekompresi) data yang sudah dikompres. |
| Out-of-bounds write | Program menulis data ke luar kotak memori yang disediakan, sehingga menimpa data lain di dekatnya. |
| TLS / sertifikat | Teknologi di balik "gembok HTTPS". Sertifikat dipakai untuk membuktikan bahwa server yang Anda hubungi benar-benar server yang dimaksud. |
| LTS / EOL | LTS: versi dengan dukungan jangka panjang. EOL (end-of-life): versi yang sudah tidak diberi perbaikan lagi. |
Celah 1 (paling serius): Brotli bisa jadi pintu masuk RCE
(CVE-2026-111497, High, terdampak: 26.x, 24.x, 22.x)
Analogi. Bayangkan Anda membuka paket yang dikempeskan (vakum). Dekoder Brotli adalah alat yang mengembalikannya ke ukuran semula. Pada celah ini, paket yang dibuat khusus oleh penyerang membuat alat itu "mengembang" melewati batas kotak penyimpanannya dan menimpa barang di sebelahnya. Kalau barang yang tertimpa adalah petunjuk kerja program, penyerang bisa mengganti perintahnya.
Dampaknya. Pengumuman resmi menyebut celah ini memungkinkan eksekusi kode dari jarak jauh. Artinya, kode berbahaya bisa jalan dengan hak akses yang sama dengan aplikasi Node.js Anda: membaca variabel rahasia (.env, kunci API), mengakses database, atau menyebar ke sistem lain.
Siapa yang paling berisiko? Logikanya, aplikasi yang mendekompresi data Brotli yang berasal dari pihak luar, misalnya menerima request/respons terkompresi Brotli, memproses file unggahan, atau memanggil API pihak ketiga. Halaman resmi hanya memuat judul celah dan tidak merinci kondisi eksploitasinya, jadi cara paling aman adalah tidak berasumsi aman dan langsung update.
Celah 2-4: gembok HTTPS bisa dikelabui
Tiga celah High lain menyangkut pengecekan sertifikat TLS (pengecekan "apakah server ini benar-benar yang saya tuju?"). Analoginya satpam yang mengecek nama di kartu identitas tetapi bisa dikelabui lewat penulisan nama yang aneh.
- CVE-2026-105483 (High; terdampak 26.x, 24.x): pengecekan nama host pada sertifikat bisa dilewati jika alamat IP ditulis memakai angka fullwidth (angka lebar ala huruf Jepang/Mandarin).
- CVE-2026-106069 (High; terdampak 26.x, 24.x, 22.x): pengecekan yang sama bisa dilewati bila nama host "secara longgar" diterjemahkan menjadi alamat IP.
- CVE-2026-105482 (High; terdampak 26.x, 24.x, 22.x):
dns.resolvememotong nama yang mengandung karakter NUL. Akibatnya nama yang dilihat aplikasi bisa berbeda dari yang sebenarnya diproses, celah klasik untuk mengecoh validasi.
Risikonya: aplikasi yang bergantung pada validasi sertifikat untuk terhubung ke server berbasis alamat IP bisa tertipu oleh server palsu (serangan man-in-the-middle).
Celah tingkat Medium dan Low
| CVE | Level | Terdampak | Penjelasan singkat |
|---|---|---|---|
| CVE-2026-105481 | Medium | 26.x, 24.x, 22.x | Koneksi keep-alive memproses respons yang ditulis sebelum request dikirim. |
| CVE-2026-106072 | Medium | 26.x, 24.x, 22.x | Nama host IPv4 yang tidak baku divalidasi keliru, sehingga SAN berupa nama DNS bisa dipakai untuk mengautentikasi alamat IP. |
| CVE-2026-106074 | Medium | 26.x, 24.x, 22.x | Cache entropi crypto.randomUUID() dan randomInt() ikut tersimpan di startup snapshot dan SEA, sehingga setiap proses menghasilkan nilai acak yang berulang. |
| CVE-2026-106070 | Low | 26.x | ZipFile mengembalikan byte awal yang dikendalikan penyerang setelah validasi header ZIP gagal. |
| CVE-2026-106071 | Low | 26.x | Permission Model memberi akses filesystem berlebih lewat pencarian wildcard. |
| CVE-2026-106073 | Low | 26.x, 24.x, 22.x | Permission Model bisa dilewati lewat fs.realpathSync. |
Catatan: celah Permission Model hanya relevan bila Anda memakai opsi --permission. Celah randomUUID() penting bila Anda memakai snapshot/SEA dan mengandalkan nilai acak untuk keamanan (token, ID unik).
Bukan hanya celah: dependensi ikut diperbarui
Rilis ini juga memperbarui komponen bawaan: c-ares dan Undici (26.x, 24.x, 22.x), OpenSSL (24.x, 22.x), SQLite (22.x), serta daftar sertifikat CA (terkait kompromi intermediate CA eMudhra) di semua lini.
Apakah aplikasi saya terdampak? Cara mengeceknya
- Cek versi: jalankan
node --versiondi server, laptop, dan di CI/CD. Aman jika sudah 26.12.1, 24.22.1, atau 22.23.4 (atau lebih baru). - Cek versi di Docker: lihat tag image di
Dockerfile(FROM node:...). Tag sepertinode:24baru membawa perbaikan setelah image-nya ditarik ulang (docker pull) dan aplikasi di-build ulang. - Cek lini versi: bila Anda masih di 18, 20, 23, atau 25, versi tersebut tidak mendapat patch. Rencanakan pindah ke 22, 24, atau 26.
- Cek hosting: pada platform terkelola (PaaS/serverless), periksa pengaturan versi runtime Node.js dan naikkan ke yang sudah ditambal.
Cara update
# Dengan nvm (pilih sesuai lini Anda)
nvm install 24.22.1
nvm alias default 24.22.1
# Alternatif untuk lini lain
nvm install 22.23.4
nvm install 26.12.1
# Cek hasilnya
node --version
Tidak memakai nvm? Unduh dari nodejs.org atau perbarui lewat paket manajer/image Docker Anda. Setelah update, restart seluruh proses Node.js (PM2, systemd, container) agar versi baru benar-benar dipakai, lalu jalankan tes aplikasi.
Daftar tindakan hari ini
- Update Node.js ke versi aman di semua lingkungan: produksi, staging, laptop, dan CI/CD.
- Restart proses dan build ulang image Docker.
- Prioritaskan server yang menerima data dari luar (API publik, upload file, proxy).
- Jika masih di versi EOL, jadwalkan migrasi ke lini yang didukung.
- Pantau pengumuman resmi (daftar sumber di bawah) bila ada penjelasan teknis tambahan.
Tanya jawab singkat
Apakah sudah ada serangan nyata? Menurut ringkasan media yang kami rujuk, belum ada eksploitasi yang dilaporkan dan belum ada peringatan CISA saat artikel ini disusun. Namun setelah rincian celah dipublikasikan, penyerang biasanya cepat mempelajarinya, jadi jangan menunda.
Apakah update ini berisiko merusak aplikasi? Ini rilis keamanan pada lini yang sama (versi patch), jadi risikonya kecil. Tetap uji di staging bila memungkinkan.
Saya pakai Next.js/Express/NestJS, apakah terdampak? Framework tersebut berjalan di atas Node.js, jadi yang perlu diperbarui adalah runtime Node.js-nya.
Sumber
Fakta utama dalam artikel ini (versi perbaikan, nomor CVE, tingkat keparahan, versi terdampak) diambil dari pengumuman resmi Node.js. Sumber lain dipakai hanya sebagai pembanding:
- Node.js: Wednesday, October 21, 2026 Security Releases (sumber primer)
- Node.js: daftar pengumuman kerentanan
- Node.js: kebijakan keamanan
- Node.js: jadwal rilis (LTS dan EOL)
- Cyber Kendra: Node.js Patches Brotli RCE Flaw, 9 Other Vulnerabilities
- Cyberpress: Node.js Patches High-Severity RCE and TLS Certificate Bypass Vulnerabilities
Catatan: artikel ini disusun pada 22 Oktober 2026. Halaman resmi hanya memuat judul tiap celah tanpa detail teknis, sehingga penjelasan "siapa yang berisiko" memakai penalaran dari judul tersebut. Pengumuman bisa diperbarui, jadi cek ulang sumber primernya sebelum dijadikan acuan atau dikutip.
Komentar (1)
Masuk / Daftar
-
Hermawan Neisila 🌱 Newbie 2 hari yang lalu
nice