CVE-2026-10666 in zephyrinformazioni

Riassunto

di VulDB • 12/07/2026

parse_ipv4() in subsys/net/ip/utils.c (raggiunta tramite net_ipaddr_parse() per stringhe della forma "a.b.c.d:port") copia la sottostringa del port in un buffer stack fisso di 17 byte (char ipaddr[NET_IPV4_ADDR_LEN + 1]) utilizzando una lunghezza pari a str_len - end - 1, dove str_len è la lunghezza totale dell'input non vincolata e end rappresenta solo lo spostamento (<=15 byte) del delimiter ':'. Poiché le dimensioni della destinazione non vengono mai verificate, una stringa di indirizzo manipolata con un suffisso lungo dopo i due punti (ad esempio "1.2.3.4:" seguito da centinaia di byte) provoca una scrittura fuori dai limiti dello stack la cui lunghezza e contenuto sono completamente controllati dall'attaccante (memcpy del suffisso più uno NUL finale), consentendo la corruzione della memoria e, almeno un denial of service, e potenzialmente il controllo del flusso di esecuzione. Il parser è raggiungibile tramite l'API socket standard (zsock_getaddrinfo / risoluzione dell'indirizzo letterale), configurazione DNS server-stringa e percorso risposta DNS co-processore Wi-Fi eswifi, quindi un'applicazione che risolve una stringa di indirizzo influenzata dalla rete è esposta. Il bug è stato introdotto quando il parser è stato aggiunto (Zephyr v1.9.0) ed è presente in tutte le versioni fino alla v4.4.0. La correzione rimuove la copia non vincolata e valida la lunghezza del port prima di copiarla in un piccolo buffer dedicato. Nota: il percorso equivalente IPv6 "[addr]:port" in parse_ipv6() mantiene la stessa copia non vincolata a questo commit ed è una istanza separata ancora raggiungibile dello stesso difetto.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Responsabile

Zephyr

Prenotare

02/06/2026

Divulgazione

12/07/2026

Moderazione

accettato

CPE

pronto

EPSS

0.00000

KEV

no

Attività

medio

Fonti

Want to stay up to date on a daily basis?

Enable the mail alert feature now!