Saltar al contenido
DUPIN
ALERTAS · EN VIVO
Contacto

VULNERABILIDADDetectada 23 OCT · 14:27

CVE-2026-106072 Evasión de verificación de hostname TLS en Node.js con IPv4 no canónica

tls.checkServerIdentity() no clasificaba como direcciones IP hosts como 0177.0.0.1, 0x7f.0.0.1, 2130706433 o 127.1, sino que los normalizaba y los comparaba contra los nombres DNS del certificado. Un certificado con DNS:127.0.0.1 y sin SAN de IP era aceptado para esos endpoints. Requiere un certificado con SAN DNS numérico emitido por una CA confiable y un resolver que acepte esas formas, como glibc. Afecta a Node.js 26.x, 24.x y 22.x.

6.7MEDIA

CVSS 3.0

  • Probabilidad de explotación0,3 %
  • Explotada activamenteNo confirmada
  • Exploit públicoNo conocido

Afectados

  • nodejs node

    desde 22.23.3 hasta 22.23.3desde 24.22.0 hasta 24.22.0desde 26.12.0 hasta 26.12.0

Qué hacer

  1. Verificá si usás node y en qué versión.
  2. Actualizá a la versión corregida que indique el fabricante en su aviso o aplicá su mitigación.
  3. Revisá registros y accesos de los sistemas expuestos para descartar un uso previo.

Calculadora CVSS

CVSS 3.0 · 6.7 MEDIA

CVSS:3.0/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:L

  • Vector de ataqueRed
  • Complejidad del ataqueBaja
  • Privilegios requeridosAltos
  • Interacción del usuarioNinguna
  • AlcanceSin cambio
  • ConfidencialidadAlta
  • IntegridadAlta
  • DisponibilidadBaja

Descripción original

A flaw in Node.js TLS hostname verification allows a certificate with only a DNS SAN to authenticate an IP endpoint when the client connects using a non-canonical IPv4 spelling, such as `0177.0.0.1`, `0x7f.0.0.1`, `2130706433` or `127.1`. `tls.checkServerIdentity()` did not classify these hosts as IP addresses, but normalized them to their canonical form and matched the result against the certificate DNS names. A certificate containing `DNS:127.0.0.1` and no `IP Address:127.0.0.1` SAN was therefore accepted, while the same certificate is correctly rejected for `127.0.0.1`. Exploitation requires a certificate with a numeric DNS SAN issued by a CA trusted by the client, and a platform resolver that accepts these spellings, such as glibc. This vulnerability affects Node.js **26.x**, **24.x**, and **22.x**.

Referencias (1)

Resumen traducido automáticamente de la descripción original. Fuente: Nureq Monitor. Cómo funciona.