CVE-2026-106072
Beschrijving NL
Met een fout in Node.js TLS-hostnaamverificatie kan een certificaat met alleen een DNS-SAN een IP-eindpunt verifiëren wanneer de client verbinding maakt met een niet-canonieke IPv4-spelling, zoals `0177.0.0.1`, `0x7f.0.0.1`, `2130706433` of `127.1`. `tls.checkServerIdentity ()` classificeerde deze hosts niet als IP-adressen, maar normaliseerde ze naar hun canonieke vorm en matchte het resultaat met de DNS-namen van het certificaat. Een certificaat met `DNS:127.0.0.1` en geen `IP-adres:127.0.0.1` SAN werd daarom geaccepteerd, terwijl hetzelfde certificaat correct wordt afgewezen voor `127.0.0.1`. Exploitatie vereist een certificaat met een numeriek DNS-SAN uitgegeven door een CA die door de klant wordt vertrouwd, en een platformresolver die deze spellingen accepteert, zoals glibc. Dit beveiligingslek is van invloed op Node.js **26.x * *, * * 24.x * * en **22.x**.
Origineel (Engels) tonen
A flaw in Node.js TLS hostname verification allows a certificate with only a DNS SAN to authenticate an IP endpoint when the client connects using a non-canonical IPv4 spelling, such as `0177.0.0.1`, `0x7f.0.0.1`, `2130706433` or `127.1`.
`tls.checkServerIdentity()` did not classify these hosts as IP addresses, but normalized them to their canonical form and matched the result against the certificate DNS names. A certificate containing `DNS:127.0.0.1` and no `IP Address:127.0.0.1` SAN was therefore accepted, while the same certificate is correctly rejected for `127.0.0.1`. Exploitation requires a certificate with a numeric DNS SAN issued by a CA trusted by the client, and a platform resolver that accepts these spellings, such as glibc.
This vulnerability affects Node.js **26.x**, **24.x**, and **22.x**.