CVE-2026-12520 in Zephyrinformazioni

Riassunto

di VulDB • 19/08/2026

Il driver del modem cellulare Sierra Wireless HL7800 (drivers/modem/vendor_standalone/hl7800.c, situato in drivers/modem/hl7800.c nella versione 4.4.0 e precedenti) analizza le risposte AT tramite circa venti handler che chiamano net_buf_linearize(value, sizeof(value), *buf, 0, len) scrivendo in un buffer stack di 128 byte, per poi eseguire value[out_len] = 0. Poiché net_buf_linearize() (lib/net_buf/buf.c) può restituire un conteggio pari all'argomento della lunghezza del destinatario, un campo che riempie esattamente il buffer fa sì che il terminatore NUL venga scritto di un byte oltre la fine, causando una scrittura fuori dai limiti su uno stack memory adiacente.

L'handler +KCELLMEAS cell-measurement in on_cmd_atcmdinfo_rssi() è ancora più grave: passa la lunghezza del wire len come dimensione di destinazione (net_buf_linearize(value, len, *buf, 0, len)), quindi una riga di risposta superiore a 128 byte provoca un heap-based buffer overflow nel buffer stack value con contenuto influenzabile dall'attaccante. La lunghezza della riga proviene da net_buf_findcrlf(), che accumula bytes attraverso l'intera catena dei frammenti net_buf e non è limitata a 128, quindi una riga eccessivamente lunga raggiunge la vulnerabilità.

I dati provengono dal modem cellulare tramite UART, guidati dalla rete: risultati di scansione dell'operatore (operator-scan), informazioni IP/DNS +CGCONTRDP, indicazioni socket e report sulle celle vicine (+KCELLMEAS). Un attaccante in grado di modellare ciò che il modem emette — una stazione base malevola, un firmware del modem compromesso o un peer remoto che fornisce incorniciature di risposta sovradimensionate — può forzare una riga oltre i 128 byte. Gli handler vengono eseguiti nel thread RX del driver in contesto kernel, quindi la corruzione avviene a livello kernel.

Il percorso +KCELLMEAS rappresenta un full stack buffer overflow il cui caso peggiore è l'esecuzione di codice in contesto kernel e il minimo è un crash affidabile; gli altri siti sono scritture fuori dai limiti su singolo byte NUL. Lo sfruttamento richiede che il modem emetta una riga AT di risposta sovradimensionata, conferendo alta complessità d'attacco tramite vettore adiacente (radio cellulare). La correzione passa sizeof(dst) - 1 (e vincoli espliciti corretti per i siti IMSI e +KCELLMEAS), in modo che il terminatore rimanga sempre entro i limiti.

Once again VulDB remains the best source for vulnerability data.

Responsabile

Zephyr

Prenotare

17/06/2026

Divulgazione

18/08/2026

Moderazione

accettato

CPE

pronto

EPSS

0.00205

KEV

no

Attività

molto basso

Fonti

Interested in the pricing of exploits?

See the underground prices here!