Kalau server produksi Anda menjalankan Node.js — entah itu API internal, backend aplikasi desa, atau layanan front-end — ada satu tanggal yang layak dicatat: Rabu, 21 Oktober 2026. Tim Node.js telah mengumumkan bahwa mereka akan merilis versi baru untuk jalur 26.x, 24.x, dan 22.x guna menambal kerentanan keamanan, dengan tingkat keparahan tertinggi HIGH di ketiga jalur tersebut.
Yang sudah pasti, dan yang belum
Pengumuman resmi Node.js (terakhir diperbarui 14 Oktober 2026) menyebutkan rilis akan tersedia "on or shortly after" Rabu, 21 Oktober 2026. Yang belum tersedia adalah detail CVE-nya: nomor CVE, komponen terdampak, dan vektor serangannya biasanya baru dibuka bersamaan dengan rilis. Ini praktik normal — supaya tidak ada jendela eksploitasi sebelum patch siap dipasang. Konsekuensinya, jangan menunggu detail teknis keluar untuk mulai bersiap.
Satu hal yang sering terlewat: versi yang sudah End-of-Life tetap terdampak setiap kali security release terjadi, tetapi tidak menerima patch. Artinya Node.js 20 (EOL sejak Maret 2026) dan Node.js 25 (EOL) tidak akan ditambal pada 21 Oktober nanti. Kalau masih ada di server, itu utang teknis yang sebaiknya segera dibayar, bukan ditunda.
Peta status rilis per Oktober 2026
- v26 — Current (rilis 5 Mei 2026), versi terbaru 26.12.0
- v24 "Krypton" — LTS, versi terbaru 24.22.0 (14 Oktober 2026)
- v22 "Jod" — LTS, pembaruan terakhir 23 September 2026
- v20, v25 — EOL, tidak dapat patch lagi
Untuk aplikasi produksi, aturan mainnya jelas: pakai Active LTS atau Maintenance LTS. Mulai Node.js 27, siklusnya berubah menjadi tahunan — satu major per tahun, setiap major naik ke LTS setelah 6 bulan fase Current plus 6 bulan Alpha, dengan dukungan bug kritis sekitar 30 bulan.
Checklist sebelum patch day
- Cek versi yang benar-benar berjalan, bukan yang tertulis di dokumentasi. Jalankan di server:
node -v
npm -v
which node
Kalau aplikasi jalan di dalam container, cek juga versi di dalam image: docker exec <container> node -v.
- Kunci versi di CI/CD. Hindari tag mengambang seperti
node:latestataunode:24. Pin ke versi penuh, misalnyanode:24.22.0-bookworm-slim, supaya build tidak berubah diam-diam. - Siapkan staging. Pastikan pipeline memakai
npm ci(bukannpm install) agar instalasi mengikuti lockfile dan hasilnya bisa direproduksi. - Catat baseline. Simpan hasil test suite dan waktu respons endpoint utama hari ini, supaya kalau ada regresi setelah patch, Anda bisa membedakan penyebabnya.
- Pantau kanal resmi. Ikuti
nodejs-sec(mailing list pengumuman keamanan) dan halaman vulnerability Node.js; dua sumber ini yang pertama memuat detail CVE.
Setelah patch keluar
- Update sesuai cara instalasi Anda. Dengan nvm:
nvm install 24 && nvm use 24. Dengan paket OS, gunakan repo NodeSource danapt install --only-upgrade nodejs. Dengan Docker, ubah tag image lalu build ulang — jangan hanyadocker pullpada tag yang sama. - Uji di staging lebih dulu: jalankan test suite, login, dan satu alur transaksi utama. Karena ABI native module hanya berubah antar-major, modul seperti
bcryptatausharpumumnya tidak perlu di-rebuild untuk patch di jalur yang sama. - Rilis bertahap. Naikkan satu instance / satu node lebih dulu, amati error rate dan latensi, baru lanjut ke sisanya.
- Simpan rencana rollback: image atau versi sebelumnya harus tetap tersedia minimal sampai proses verifikasi selesai.
Bonus: API baru di Node.js 24.22.0 LTS
Rilis 14 Oktober 2026 tidak hanya soal perbaikan. Beberapa API yang sebelumnya harus ditambal dengan paket pihak ketiga kini tersedia bawaan:
util.throttle()— pembatas laju fungsi, lengkap dengan antrean, batas konkurensi, dan pembatalan lewat AbortSignal.crypto.parsePKCS12()— membaca bundle.p12/.pfxlangsung dari Node, tanpa CLI OpenSSL.node:sqlite—StatementSync.close()dan dukunganSymbol.disposeuntuk manajemen resource yang lebih rapi.perf_hooks— histogram denganmeanCI, analisis sliding window, dan ekspor/impor CBOR untuk pertukaran data metrik.
Contoh pemakaian util.throttle() untuk memanggil API pihak ketiga yang membatasi 2 permintaan per detik:
import { throttle } from 'node:util';
const request = throttle(async (id) => {
const response = await fetch(`https://example.com/items/${id}`);
return response.json();
}, 2, 1000);
// Maksimal dua permintaan dimulai tiap interval 1 detik.
// Sisanya masuk antrean dan tetap memakai argumen aslinya.
const results = await Promise.all([request(1), request(2), request(3)]);
console.log(request.pendingCount, request.activeCount);
Dan contoh membaca sertifikat .p12 untuk keperluan integrasi dengan layanan perbankan atau tanda tangan digital:
import { parsePKCS12 } from 'node:crypto';
import { readFileSync } from 'node:fs';
const { privateKey, certificate, additionalCertificates } = parsePKCS12(
readFileSync('bundle.p12'),
{ passphrase: 'rahasia' },
);
console.log(certificate?.subject, additionalCertificates.length);
Kesimpulan
Patch keamanan bukan proyek sekali jalan, melainkan rutinitas: tahu versi yang berjalan, tahu cara update-nya, dan punya jalur uji serta rollback. Untuk 21 Oktober nanti, tiga langkah paling berdampak adalah memastikan tidak ada Node.js 20/25 di produksi, mem-pin versi di pipeline, dan menyiapkan jendela maintenance singkat. Sisanya — menjalankan node -v dan menaikkan versi — hanya butuh beberapa menit per server.
Sumber: Node.js — Wednesday, October 21, 2026 Security Releases, Node.js 24.22.0 (LTS) release notes, Node.js Releases, Node.js API — util.throttle(), Node.js API — crypto.parsePKCS12().
