CVE-2026-12632 in Zephyrinformazioni

Riassunto

di VulDB • 21/08/2026

Il gestore di ricezione del Precision Time Protocol (PTP) di Zephyr, `ptp_msg_post_recv()` in `subsys/net/lib/ptp/msg.c`, preleva direttamente dal flusso i dati il tipo di messaggio a 4 bit tramite la funzione `ptp_msg_type()` (`msg->header.type_major_sdo_id & 0xF`, intervallo 0-15) e lo utilizza come indice per accedere alla tabella `msg_size[]`. Tale tabella definisce voci solo fino a PTP_MSG_MANAGEMENT (0xD), con un ARRAY_SIZE pari a 14. Prima della correzione non era presente alcun controllo del limite superiore, quindi i tipi indefiniti 0xE e 0xF indicavano uno o due slot di tipo int oltre la fine dell'array, causando una lettura fuori dai limiti (out-of-bounds read) su dati adiacenti in sola lettura.

Il valore letto fuori dai limiti viene successivamente riutilizzato come lunghezza: controlla se `msg_size[type] > cnt` e, quando tale valore è piccolo o negativo, rende `cnt - msg_size[type]` un budget positivo elevato passato a `msg_tlv_post_recv()`, il cui ciclo TLV scorre quindi oltre i byte ricevuti nel suffisso del messaggio, effettuando ulteriori letture fuori dai limiti e scritture di swap-byte in-place su memoria al di là dello slab del messaggio.

Il difetto è raggiungibile direttamente dalla rete: `ptp_port_event_gen()` in `subsys/net/lib/ptp/port.c` legge un frame PTP con `ptp_transport_recv()` e chiama `ptp_msg_post_recv()` con il tipo scelto dall'attaccante. Il protocollo PTP utilizza UDP multicast o Ethernet raw (0x88F7) ed è non autenticato, quindi qualsiasi host sulla stessa rete locale può innescare l'indicizzazione su un nodo abilitato per CONFIG_PTP senza prerequisiti.

L'impatto riproducibile in modo affidabile è una denial of service (fault/crash); esiste un percorso limitato di corruzione della memoria ma dipende dal valore adiacente a `msg_size[]` specifico della build, che l'attaccante non può controllare. La correzione rifiuta i tipi >= ARRAY_SIZE(msg_size) restituendo -EBADMSG prima di qualsiasi operazione di indicizzazione.

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

Responsabile

Zephyr

Prenotare

18/06/2026

Divulgazione

19/08/2026

Moderazione

accettato

CPE

pronto

EPSS

0.00248

KEV

no

Attività

molto basso

Fonti

Interested in the pricing of exploits?

See the underground prices here!