CVE-2026-102714 in NetX Duoinformación

Resumen

por VulDB • 2026-09-29

`_nx_icmpv6_validate_options()` escanea el área de opciones con `while (length > 2)` (`common/src/nx_icmpv6_validate_options.c:79`). Un área cuyo tamaño deja un residuo de uno o dos bytes sale del bucle sin examinar ese final; como el residuo no es negativo, la función devuelve `NX_SUCCESS`. Su rechazo por longitud cero nunca ve esos bytes.

Cada consumidor vuelve a recorrer la misma zona, leyendo una cabecera de opción de dos bytes en el residuo y restando `nx_icmpv6_option_length << 3` sin ninguna comprobación de valor nulo ni de longitud restante. Se producen tres resultados posibles, seleccionados por los bytes controlados por el atacante:

**Byte de longitud cero.** El iterador resta cero y avanza cero. Los cuatro manejadores entran en un bucle infinito — `_nx_icmpv6_process_ra` (`nx_icmpv6_process_ra.c:245, :528`), `_nx_icmpv6_process_ns` (`:251, :329`), `_nx_icmpv6_process_na` (`:147, :156`) y `_nx_icmpv6_process_redirect` (`:247, :350`). El recorrido se ejecuta en el hilo IP, que es el hilo de mayor prioridad y no cede dentro del bucle, por lo que el sistema se detiene hasta un reinicio por watchdog (watchdog reset) y el frame puede ser reproducido después de cada uno.

**Byte de longitud distinta de cero en un residuo corto.** Los tres contadores sin signo desbordan hacia abajo (underflow): `2 - 8` se convierte en `0xFFFFFFFA`, y el recorrido continúa más allá del búfer del paquete, leyendo hasta que falla o encuentra un byte de longitud cero y se congela. El contador de Router Advertisement es con signo y sale limpiamente en este caso.

**Residuo de un solo byte.** El iterador lee una cabecera de opción de dos bytes, sobrepasando la lectura en un byte.

Durante un recorrido desbocado (runaway walk), los bytes erróneos que se analizan como una opción de dirección de capa de enlace se copian en la caché de vecinos (`nx_icmpv6_process_ns.c:280, :293`) y posteriormente se utilizan como MAC de destino para frames dirigidos a ese vecino, colocando memoria fuera del paquete (off-packet memory) en el enlace. Confirmado por inspección, no reproducido.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Responsable

Eclipse

Reservar

2026-09-29

Divulgación

2026-09-29

Moderación

aceptado

Artículo

VDB-411649

EPSS

0.00153

KEV

no

Actividades

muy bajo

Fuentes

Interested in the pricing of exploits?

See the underground prices here!