Node.js TLS check can accept wrong certificate for IP addresses written with special digits
Node.js can be tricked into trusting a server's certificate for the wrong IP address when the address is typed with unusual full-width digits. An attacker in the network path could then impersonate that server.
| Severity | HighCVSS 7.4 of 10 |
|---|---|
| Being exploited? | UnclearNo reports either way yet |
| Fix available? | YesFixes were released by Node.js on October 21, 2026 for the 22.x, 24.x and 26.x release lines; update to the patched Node.js releases from that Security Release. · since 27 Oct 2026 |
| How sure is this? | Official, 4 sourcesBacked by an official source |
How the attack works simplified
- 1Attacker on network pathPositioned between client and server
- 2IP written with fullwidth digitsHost like 127.0.0.1 sent by client
- 3Node.js skips IP checkTreats host as a name, not an IP
- 4Wrong certificate acceptedDNS:127.0.0.1 cert matches incorrectly
- ResultConnection trusted for the wrong server
What happened
In Node.js, tls.checkServerIdentity() does not recognize hosts written with non-ASCII characters (such as fullwidth digits) as IPv4 addresses, so it matches them against certificate DNS names and Common Name instead of IP SANs. A certificate such as DNS:127.0.0.1 or DNS:*.0.0.1 can then be accepted for an IP endpoint it was not issued for. This is a regression introduced after the fix for CVE-2026-48618.
Are you affected?
You are affected if you run Node.js 26.x or 24.x and your application or tooling makes TLS connections that depend on certificate hostname verification.
Node.js 26.x; Node.js 24.x
What to do
- Update Node.js 26.x and 24.x to the patched release from the October 21, 2026 Node.js Security Release
- Check that applications and services pinned to these versions are rebuilt and redeployed with the updated runtime
- Review any TLS connections to IP addresses in critical systems for unexpected certificate acceptance
Timeline
- 23 Oct 2026, 17:17 UTCPublicly disclosed
- 23 Oct 2026, 17:17 UTCReported by NVD · NVD
- 26 Oct 2026, 17:01 UTCFortinet PSIRT reported on it · Fortinet PSIRT
- 26 Oct 2026, 17:12 UTCGitHub Advisory reported on it · GitHub Advisory
- 27 Oct 2026, 21:32 UTCCisco PSIRT reported on it · Cisco PSIRT
- 27 Oct 2026, 21:32 UTCFix: unknown
- 28 Oct 2026, 20:36 UTCReported by Cisco PSIRT · Cisco PSIRT
Sources 5 reports, oldest first
Official vendor, government CERT or advisory database
- NVD23 Oct 2026, 17:17 UTC
- A flaw in Node.js TLS hostname verification allows a certificate without a matching IP address...GitHub Advisory · 23 Oct 2026, 18:31 UTC
- Multiple Node.js CVEsFortinet PSIRT · 26 Oct 2026, 07:00 UTC
- Vulnerabilities in node.js Affecting Cisco Products: October 2026Cisco PSIRT · 27 Oct 2026, 21:30 UTC
- Vulnerabilities in Node.js Affecting Cisco Products: October 2026Cisco PSIRT · 28 Oct 2026, 20:36 UTC
Technical details
- ID
- CVE-2026-105483 · GHSA-8h4p-qpcq-gq24
- CVSS
- 7.4 / 10
- EPSS
- 0.3% chance of exploitation within 30 days
- Disclosed
- 23 Oct 2026, 17:17 UTC
- On Zero Radar
- before the radar started
- Last change
- 28 Oct 2026, 20:43 UTC
The plain-language parts and the attack diagram were written by an AI model (anthropic/claude-haiku-5.5) from the sources above. Facts like versions, exploitation and dates come from the sources themselves. How Zero Radar works