CVE-2026-102714 in NetX Duoinformazioni

Riassunto

di VulDB • 29/09/2026

`_nx_icmpv6_validate_options()` scansiona l'area delle opzioni con `while (length > 2)` (`common/src/nx_icmpv6_validate_options.c:79`). Un'area la cui dimensione lascia un residuo di uno o due byte esce dal ciclo lasciando tale coda non esaminata; poiché il residuo non è negativo, la funzione restituisce `NX_SUCCESS`. Il suo rifiuto per lunghezza zero non vede mai quei byte.

Ogni consumatore ricalcola quindi la stessa area, leggendo un'intestazione di opzione a due byte nel residuo e sottraendo `nx_icmpv6_option_length << 3` senza alcun controllo sullo zero né sul resto della lunghezza. Ne derivano tre esiti, selezionati in base ai byte controllati dall'attaccante.

**Byte di lunghezza pari a zero.** Il ciclo scorre sottrae zero e avanza di zero. Tutti e quattro i handler vanno incontro a loop infiniti — `_nx_icmpv6_process_ra` (`nx_icmpv6_process_ra.c:245, :528`), `_nx_icmpv6_process_ns` (`:251, :329`), `_nx_icmpv6_process_na` (`:147, :156`) e `_nx_icmpv6_process_redirect` (`:247, :350`). La scansione viene eseguita nel thread IP, che è il thread con la priorità più elevata e non cede il controllo all'interno del ciclo; di conseguenza, il sistema si blocca fino a un reset da parte dell'osservatore (watchdog), e il frame può essere ritrasmesso dopo ciascuno.

**Byte di lunghezza non zero su un residuo breve.** I tre contatori senza segno vanno in underflow — `2 - 8` diventa `0xFFFFFFFA` — e la scansione prosegue oltre il buffer del pacchetto, leggendo fino a quando si verifica una fault o viene incontrato un byte di lunghezza pari a zero che blocca l'esecuzione. Il conteggio per Router Advertisement è con segno ed esce pulitamente in questo caso.

**Residuo di un solo byte.** Lo scanner legge un'intestazione di opzione a due byte, leggendo oltre (over-reading) di un byte.

Durante una scansione fuori controllo, byte spuri interpretati come un'opzione indirizzo del livello link vengono copiati nella cache dei vicini (`nx_icmpv6_process_ns.c:280, :293`) e successivamente utilizzati come MAC di destinazione per i frame diretti a quel vicino, esponendo la memoria al di fuori del pacchetto sul collegamento. Confermato tramite ispezione, non riproducibile.

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

Responsabile

Eclipse

Prenotare

29/09/2026

Divulgazione

29/09/2026

Moderazione

accettato

CPE

pronto

EPSS

0.00000

KEV

no

Attività

molto basso

Fonti

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!