{"id":"CVE-2026-106069","state":"PUBLISHED","title":"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 n","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`.\n\n`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.\n\nThis vulnerability affects Node.js **26.x**, **24.x**, and **22.x**.","publishedAt":"2026-10-23T16:15:05.850Z","updatedAt":"2026-10-23T16:15:05.850Z","severity":{"score":7.4,"label":"High","version":"3.0","vector":"CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N","source":"hackerone"},"assigner":"hackerone","products":["nodejs node"],"affected":[{"vendor":"nodejs","product":"node","defaultStatus":"unaffected","versions":[{"version":"22.23.3","status":"affected","lessThanOrEqual":"22.23.3","versionType":"semver"},{"version":"24.22.0","status":"affected","lessThanOrEqual":"24.22.0","versionType":"semver"},{"version":"26.12.0","status":"affected","lessThanOrEqual":"26.12.0","versionType":"semver"}]}],"references":["https://nodejs.org/en/blog/vulnerability/october-2026-security-releases"],"weaknesses":["CWE-295"],"ingestedAt":"2026-10-29T20:10:23.711Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/106xxx/CVE-2026-106069.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-106069","state":"PUBLISHED","datePublished":"2026-10-23T16:15:05.850Z","dateUpdated":"2026-10-23T16:15:05.850Z","assignerShortName":"hackerone","assignerOrgId":"36234546-b8fa-4601-9d6f-f4e334aa8ea1","dateReserved":"2026-10-06T15:00:00.654Z"},"containers":{"cna":{"descriptions":[{"lang":"en","value":"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`.\n\n`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.\n\nThis vulnerability affects Node.js **26.x**, **24.x**, and **22.x**."}],"affected":[{"vendor":"nodejs","product":"node","defaultStatus":"unaffected","versions":[{"version":"22.23.3","status":"affected","lessThanOrEqual":"22.23.3","versionType":"semver"},{"version":"24.22.0","status":"affected","lessThanOrEqual":"24.22.0","versionType":"semver"},{"version":"26.12.0","status":"affected","lessThanOrEqual":"26.12.0","versionType":"semver"}]}],"references":[{"url":"https://nodejs.org/en/blog/vulnerability/october-2026-security-releases"}],"metrics":[{"cvssV3_0":{"version":"3.0","vectorString":"CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N","baseScore":7.4,"baseSeverity":"HIGH"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-295","type":"CWE","lang":"en","description":"CWE-295 Improper Certificate Validation"}]}],"providerMetadata":{"shortName":"hackerone","orgId":"36234546-b8fa-4601-9d6f-f4e334aa8ea1","dateUpdated":"2026-10-23T16:15:05.850Z"}}}}}