CVE-2026-106069: TLS certificate hostname bypass when the host loosely resolves to an IP address

Published Oct 21, 2026
·
Updated

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.

Other sources

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.

— Node.Js

A flaw was found in Node.js. Non-canonical numeric hostnames (for example 127.1 or 0127.0.0.1) can be normalized by domainToASCII() to one IPv4 address for certificate checks while the platform resolver connects to a different address. A TLS client may therefore accept a certificate that does not identify the connected peer, enabling server impersonation.

— Red Hat

Affected Software

29 affected componentsFixes available
Node.js Node.js>=22.0.0<22.23.4
22.23.4
Node.js Node.js>=24.0.0<24.22.1
24.22.1
Node.js Node.js>=26.0.0<26.12.1
26.12.1
Node.js Node.js>=22.0.0<22.23.4, >=24.0.0<24.22.1, >=26.0.0<26.12.1
22.23.424.22.126.12.1
All of the following
azurelinux/nodejs<24.22.1-0
24.22.1-0
Microsoft Azure Linux=3.0
bitnami/node<22.23.4
22.23.4
bitnami/node>=23.0.0<24.22.1
24.22.1
bitnami/node>=25.0.0<26.12.1
26.12.1
bitnami/node-min<22.23.4
22.23.4
bitnami/node-min>=23.0.0<24.22.1
24.22.1
bitnami/node-min>=25.0.0<26.12.1
26.12.1
ubuntu/nodejs*
ubuntu/nodejs*
ubuntu/nodejs*
ubuntu/nodejs*
ubuntu/nodejs*
ubuntu/nodejs*
ubuntu/nodejs*
ubuntu/nodejs*
alpine/nodejs<22.23.4-r0
22.23.4-r0
alpine/nodejs<22.23.4-r0
22.23.4-r0
alpine/nodejs<24.22.1-r0
24.22.1-r0
alpine/nodejs<24.22.1-r0
24.22.1-r0
alpine/nodejs-current<26.12.1-r0
26.12.1-r0
debian/nodejs*
debian/nodejs*
debian/nodejs<24.22.1+dfsg+~cs24.19.2-1
24.22.1+dfsg+~cs24.19.2-1
debian/nodejs<=18.20.4+dfsg-1~deb12u2, <=18.20.4+dfsg-1~deb12u3, <=20.19.2+dfsg-1+deb13u2, <=20.19.2+dfsg-1+deb13u3
24.22.2+dfsg+~cs24.19.2-1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade to a fixed release to a version that resolves this vulnerability.

    Fixed in 22.23.4
  2. Upgrade

    Upgrade to a fixed release to a version that resolves this vulnerability.

    Fixed in 24.22.1
  3. Upgrade

    Upgrade to a fixed release to a version that resolves this vulnerability.

    Fixed in 26.12.1
  4. Upgrade

    Upgrade to a fixed release to a version that resolves this vulnerability.

    Fixed in 22.23.4Fixed in 24.22.1Fixed in 26.12.1
  5. Upgrade

    Upgrade azurelinux/nodejs to a version that resolves this vulnerability.

    Fixed in 24.22.1-0
  6. Upgrade

    Upgrade bitnami/node to a version that resolves this vulnerability.

    Fixed in 22.23.4
  7. Upgrade

    Upgrade bitnami/node to a version that resolves this vulnerability.

    Fixed in 24.22.1
  8. Upgrade

    Upgrade bitnami/node to a version that resolves this vulnerability.

    Fixed in 26.12.1
  9. Upgrade

    Upgrade bitnami/node-min to a version that resolves this vulnerability.

    Fixed in 22.23.4
  10. Upgrade

    Upgrade bitnami/node-min to a version that resolves this vulnerability.

    Fixed in 24.22.1
  11. Upgrade

    Upgrade bitnami/node-min to a version that resolves this vulnerability.

    Fixed in 26.12.1
  12. Upgrade

    Upgrade debian/nodejs to a version that resolves this vulnerability.

    Fixed in 24.22.2+dfsg+~cs24.19.2-1
  13. Upgrade

    Upgrade alpine/nodejs to a version that resolves this vulnerability.

    Fixed in 22.23.4-r0
  14. Upgrade

    Upgrade alpine/nodejs to a version that resolves this vulnerability.

    Fixed in 24.22.1-r0
  15. Upgrade

    Upgrade alpine/nodejs-current to a version that resolves this vulnerability.

    Fixed in 26.12.1-r0
  16. Upgrade

    Upgrade debian/nodejs to a version that resolves this vulnerability.

    Fixed in 24.22.1+dfsg+~cs24.19.2-1

Event History

Oct 21, 2026
CVE Published
via Node.js·10:39 AM
Data Sourced
via Node.js·10:39 AM
SeverityAffected Software
Data Sourced
via Node.js·10:00 PM
Description
Oct 23, 2026
Data Sourced
via Ubuntu·12:00 AM
RemedyDescriptionSeverityAffected Software
Data Sourced
via Red Hat·02:11 PM
DescriptionSeverityAffected Software
CVE Published
via MITRE·04:15 PM
Data Sourced
via MITRE·04:15 PM
DescriptionSeverityWeakness
Data Sourced
via OSV·05:17 PM
DescriptionSeverityAffected Software
Data Sourced
via NVD·05:17 PM
DescriptionSeverityWeakness
Oct 25, 2026
Data Sourced
via Microsoft·08:01 AM
DescriptionSeverityWeakness
Data Sourced
via Microsoft·08:01 AM
Affected Software
Oct 29, 2026
Advisory Published
via OSV·08:55 AM

Parent advisories

This vulnerability appears in the following advisories.

Frequently Asked Questions

1

How is this issue rated?

It is rated high severity (7) with a risk score of 36.

2

Which Node.js release information is referenced for this issue?

The provided references include the October 2026 Node.js security releases notice and the release notes for Node.js v22.23.4 and v24.22.1.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203