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**.
Published: 2026-10-23
Score: 7.4 High
EPSS: n/a
KEV: No
Impact: Server impersonation via hostname verification bypass in TLS
Action: Patch immediately
AI Analysis

Impact

A flaw in Node.js TLS hostname verification allows a client to accept a certificate that claims to cover a domain name such as DNS:127.0.0.1 or DNS:*.0.0.1 even when the hostname in the connection string is an IPv4 address written with non‑ASCII characters (for example, fullwidth digits). The underlying bug in tls.checkServerIdentity() fails to recognise such hostnames as IP addresses, normalises them to the regular IPv4 address, and then compares the DNS name or Common Name in the certificate instead of the IP address itself. Because of this, an attacker can present a certificate that is not intended for a particular IP address and have the connection accepted, effectively impersonating the server intended for that IP. The weakness falls under CWE‑295, indicating improper transport layer security configuration.

Affected Systems

Node.js 26.x and 24.x versions are affected by this regression, which was introduced after the fix for CVE-2026-48618. The vulnerability applies to programs that use Node.js’s native TLS library and invoke the default hostname verification routine.

Risk and Exploitability

The CVSS base score of 7.4 indicates a high severity, while the EPSS score is currently unavailable, so the exact exploitation probability is unknown. The vulnerability is not listed in CISA’s KEV catalog, but the impact remains significant because any application that performs TLS connections with hostnames containing non‑ASCII characters can be tricked into accepting a mis‑issued certificate. The likely attack vector involves an attacker controlling the server side to supply a certificate that includes DNS:127.0.0.1 or DNS:*.0.0.1, or compromising a legitimate server that has such a certificate, then presenting that server to a Node.js client that uses a hostname with non‑ASCII digits.

Generated by OpenCVE AI on October 23, 2026 at 17:26 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade Node.js to a version that contains the TLS hostname verification fix (versions newer than 26.x and 24.x).
  • If an immediate upgrade is not possible, restrict TLS connections to hostnames that use only standard ASCII characters or explicitly validate that IP addresses match the certificates presented, bypassing the default check for non‑ASCII hostnames.
  • In applications that must support non‑ASCII hostnames, modify the TLS options to supply a custom checkServerIdentity callback that enforces strict IP-to-Certificate matching, ensuring that certificates are only accepted when the IP address in the connection matches the certificate’s SAN entries.

Generated by OpenCVE AI on October 23, 2026 at 17:26 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

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 Node.js TLS Hostname Verification Bypass with Non‑ASCII IP Hostnames

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 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**.
Weaknesses CWE-295
References
Metrics cvssV3_0

{'score': 7.4, 'vector': 'CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: hackerone

Published:

Updated: 2026-10-23T16:15:05.773Z

Reserved: 2026-10-05T15:00:00.729Z

Link: CVE-2026-105483

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-10-23T17:17:19.573

Modified: 2026-10-23T19:42:24.553

Link: CVE-2026-105483

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-23T21:45:14Z

Weaknesses
  • CWE-295

    Improper Certificate Validation