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**.
Metrics
Affected Vendors & Products
References
History
Mon, 26 Oct 2026 12:15:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| Title | Non‑Canonical IPv4 Spelling Allows TLS Hostname Verification Bypass in Node.js | nodejs: nodejs: Authentication bypass via non-canonical IPv4 hostname verification |
| References |
| |
| Metrics |
threat_severity
|
cvssV3_1
|
Fri, 23 Oct 2026 22:00:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Nodejs
Nodejs nodejs |
|
| Vendors & Products |
Nodejs
Nodejs nodejs |
Fri, 23 Oct 2026 17:45:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| Title | Non‑Canonical IPv4 Spelling Allows TLS Hostname Verification Bypass in Node.js |
Fri, 23 Oct 2026 16:30:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| Description | 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**. | |
| Weaknesses | CWE-295 | |
| References |
| |
| Metrics |
cvssV3_0
|
Status: PUBLISHED
Assigner: hackerone
Published: 2026-10-23T16:15:05.783Z
Updated: 2026-10-23T16:15:05.783Z
Reserved: 2026-10-06T15:00:00.655Z
Link: CVE-2026-106072
No data.
Status : Awaiting Analysis
Published: 2026-10-23T17:17:20.203
Modified: 2026-10-23T19:42:24.553
Link: CVE-2026-106072