A flaw in Node.js TLS hostname verification allows a certificate without a matching IP address SAN to authenticate a connection to an IPv4 a
- Published
- Last modified
- Status
- published
- Known exploitation
- Not listed in CISA KEV
- Public exploit
- None on Exploit-DB
Summary
Node.js versions in the 24.x and 26.x lines are affected by a TLS hostname verification flaw. A server certificate that lacks a matching IP address entry can be wrongly accepted for an IPv4 address written with non-ASCII characters, potentially letting a connection to a host be trusted when it should not be.
Summarized by anthropic/claude-haiku-5.5. Verify details against the original sources.
Read the original description
A flaw in Node.js TLS hostname verification allows a certificate without a matching IP address SAN to authenticate a connection to an IPv4 address when the host is written with non-ASCII characters, such as fullwidth digits (`127.0.0.1`). `tls.checkServerIdentity()` did not recognize such hosts as IP addresses, even though they normalize and resolve to a regular IPv4 address, and matched them against the certificate DNS names and Common Name instead. A certificate containing `DNS:127.0.0.1` or `DNS:*.0.0.1` could therefore be accepted for an IP endpoint it was not issued for. This is a regression introduced after the fix for CVE-2026-48618. This vulnerability affects Node.js **26.x** and **24.x**.
Affected versions
- nodejs node
From 24.22.0 · through 24.22.0; From 26.12.0 · through 26.12.0