Keamanan komunikasi jaringan menjadi salah satu fondasi penting dalam pengembangan aplikasi modern. Namun, mekanisme dasar seperti resolusi Domain Name System (DNS) dan verifikasi sertifikat Transport Layer Security (TLS) ternyata masih dapat memiliki kelemahan yang berpotensi dimanfaatkan penyerang.
Pada 21 Oktober 2026, proyek Node.js secara resmi menerbitkan pembaruan keamanan untuk memperbaiki sepuluh kerentanan pada runtime JavaScript tersebut.
Dua kerentanan yang menjadi perhatian adalah CVE-2026-105482 dan CVE-2026-105483.
Keduanya diklasifikasikan sebagai kerentanan dengan tingkat keparahan High oleh proyek Node.js.
CVE-2026-105482 memengaruhi mekanisme resolusi DNS ketika menerima hostname yang mengandung karakter NUL atau null byte.
Sementara itu, CVE-2026-105483 memengaruhi verifikasi identitas server TLS ketika alamat IPv4 ditulis menggunakan karakter Unicode tertentu, khususnya angka fullwidth.
Kedua kelemahan tersebut dapat menyebabkan perbedaan antara identitas host yang divalidasi aplikasi dan identitas host yang sebenarnya digunakan dalam proses koneksi.
Dalam kondisi tertentu, perbedaan tersebut dapat melemahkan pembatasan akses jaringan maupun mekanisme verifikasi sertifikat.
Node.js telah menyediakan pembaruan keamanan untuk cabang versi 22.x, 24.x, dan 26.x.
Mengenal DNS dan TLS dalam Node.js
Sebelum membahas kedua kerentanan, penting untuk memahami peran DNS dan TLS dalam komunikasi jaringan.
Apa Itu DNS?
Domain Name System atau DNS merupakan sistem yang menerjemahkan nama domain menjadi alamat IP.
Sebagai contoh, aplikasi yang mengakses api.example.com perlu mengetahui alamat IP server yang menjadi tujuan koneksi.
Node.js menyediakan modul node:dns untuk melakukan berbagai operasi resolusi DNS.
Contoh penggunaan:
import dns from "node:dns/promises";
const addresses = await dns.resolve4(
"example.com"
);
console.log(addresses);
Kode tersebut meminta informasi alamat IPv4 yang terkait dengan domain example.com.
Hasil resolusi kemudian dapat digunakan oleh aplikasi untuk membangun koneksi jaringan.
Apa Itu TLS?
Transport Layer Security atau TLS merupakan protokol keamanan yang digunakan untuk melindungi komunikasi jaringan.
TLS menyediakan mekanisme enkripsi, pemeriksaan integritas data, dan autentikasi identitas server melalui sertifikat digital.
Ketika aplikasi mengakses layanan HTTPS, sertifikat server perlu diverifikasi untuk memastikan koneksi dilakukan dengan pihak yang tepat.
Node.js menyediakan modul node:tls untuk membangun dan mengelola koneksi TLS.
Salah satu fungsi penting dalam proses tersebut adalah:
tls.checkServerIdentity()
Fungsi ini digunakan untuk memeriksa kesesuaian identitas server dengan sertifikat yang disajikan.
Kesalahan dalam mekanisme verifikasi identitas dapat menyebabkan sertifikat diterima untuk tujuan koneksi yang tidak semestinya.
Detail Kerentanan CVE-2026-105482 dan CVE-2026-105483
Berikut ringkasan informasi kedua kerentanan berdasarkan pengumuman keamanan Node.js.
Informasi | CVE-2026-105482 | CVE-2026-105483 |
|---|---|---|
Komponen | DNS Resolver | TLS |
Jenis kelemahan | Hostname truncation | Hostname verification bypass |
Penyebab | Karakter NUL | Angka Unicode fullwidth |
Dampak utama | Resolusi hostname yang tidak dimaksudkan | Penerimaan sertifikat untuk IP yang tidak sesuai |
Tingkat keparahan | High | High |
Cabang terdampak | 22.x, 24.x, 26.x | 24.x, 26.x |
Tanggal pembaruan | 21 Oktober 2026 | 21 Oktober 2026 |
Perbaikan | Validasi input DNS | Perbaikan normalisasi dan pemeriksaan IP |
Kedua kerentanan berhubungan dengan kesalahan interpretasi hostname, tetapi terjadi pada komponen yang berbeda.
CVE-2026-105482 berada pada proses resolusi DNS, sedangkan CVE-2026-105483 terjadi pada proses verifikasi sertifikat TLS.
CVE-2026-105482: Manipulasi Resolusi DNS melalui Null Byte
CVE-2026-105482 merupakan kerentanan pada mekanisme DNS resolver Node.js yang memungkinkan hostname mengandung karakter NUL diproses secara tidak konsisten.













