CVE-2026-106069
Published: October 24, 2026Last modified: November 1, 2026
Description
A flaw in Node.js TLS hostname verification can cause a server certificate to be validated against a different IP address than the one the client connected to, when the host is a non-canonical IPv4 literal with a leading zero, such as `0127.0.0.1`. `tls.checkServerIdentity()` normalizes the host following the WHATWG URL rules, which read a leading-zero octet as octal (`0127.0.0.1` becomes `87.0.0.1`), while the connection is made through the operating system resolver, which on some platforms such as macOS reads it as decimal (`127.0.0.1`). A server at the connected address can then be authenticated with a certificate issued for another IP address. This vulnerability affects Node.js **26.x**, **24.x**, and **22.x**.
Severity score breakdown
| Parameter | Value |
|---|---|
| Base score | 7.4 |
| Attack Vector | NETWORK |
| Attack complexity | HIGH |
| Privileges required | NONE |
| User interaction | NONE |
| Scope | UNCHANGED |
| Confidentiality | HIGH |
| Integrity impact | HIGH |
| Availability impact | NONE |
| Vector | CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N |
Status
| Product | Release | Package | Status |
|---|---|---|---|
| Alpaquita Linux | 23 LTS | nodejs | Unknown (18.16.0-r0) |
| 25 LTS | nodejs | Unknown (22.16.0-r1) | |
| nodejs22 | Fixed (22.23.4-r0) | ||
| nodejs24 | Fixed (24.22.1-r0) | ||
| nodejs26 | Fixed (26.12.1-r0) | ||
| Stream | nodejs | Unknown (18.16.1-r0) | |
| nodejs22 | Fixed (22.23.4-r0) | ||
| nodejs24 | Fixed (24.22.1-r0) | ||
| nodejs26 | Fixed (26.12.1-r1) | ||
| Hardened Containers | 23 LTS | nodejs | Unknown (18.16.0-r0) |
| 25 LTS | nodejs | Unknown (22.16.0-r1) | |
| nodejs22 | Fixed (22.23.4-r0) | ||
| nodejs24 | Fixed (24.22.1-r0) | ||
| nodejs26 | Fixed (26.12.1-r0) | ||
| Stream | nodejs | Unknown (18.16.1-r0) | |
| nodejs22 | Fixed (22.23.4-r0) | ||
| nodejs24 | Fixed (24.22.1-r0) | ||
| nodejs26 | Fixed (26.12.1-r1) |