Nei driver per i chip wireless Broadcom quattro . In un caso semplice, le vulnerabilità possono essere utilizzate per attivare un attacco denial of service remoto, ma non sono esclusi scenari in cui possono essere sviluppati exploit che consentono a un attaccante non autenticato di eseguire codice con privilegi di kernel Linux inviando pacchetti formattati in modo specifico.
I problemi sono stati identificati durante il reverse engineering del firmware Broadcom. I chip vulnerabili sono ampiamente utilizzati in laptop, smartphone e vari dispositivi di consumo, da SmartTV a dispositivi per Internet of Things. In particolare, i chip Broadcom sono utilizzati in smartphone di produttori come Apple, Samsung e Huawei. È notevole che la Broadcom sia stata informata delle vulnerabilità già nel settembre 2018, ma sono stati necessari circa 7 mesi per il rilascio coordinato delle patch con i produttori di hardware.
Due vulnerabilità riguardano i firmware interni e possono potenzialmente consentire l'esecuzione di codice nell'ambiente del sistema operativo utilizzato nei chip Broadcom, permettendo attacchi a sistemi che non utilizzano Linux (ad esempio, è stata confermata la possibilità di attacchi su dispositivi Apple, ). Ricordiamo che alcuni chip Wi-Fi Broadcom sono un processore specializzato (ARM Cortex R4 o M3) su cui viene eseguita una versione della propria operating system con implementazione del proprio stack wireless 802.11 (FullMAC). In tali chip, il driver garantisce l'interazione tra il sistema principale e il firmware del chip Wi-Fi. Per ottenere un controllo completo sul sistema principale dopo una compromissione di FullMAC, si suggerisce di utilizzare ulteriori vulnerabilità o, su alcuni chip, di approfittare dell'accesso completo alla memoria di sistema. Nei chip con SoftMAC, lo stack wireless 802.11 è implementato lato driver e viene eseguito utilizzando la CPU di sistema.
Nelle interfacce del driver, le vulnerabilità si manifestano sia nel driver proprietario wl (SoftMAC e FullMAC) sia nell'open brcmfmac (FullMAC). Nel driver wl sono stati identificati due buffer overflow, sfruttati durante la trasmissione da un punto di accesso di messaggi EAPOL appositamente formattati nel processo di negoziazione della connessione (l'attacco può avvenire collegandosi a un punto di accesso dannoso). Nel caso di un chip con SoftMAC, le vulnerabilità portano a una compromissione del kernel di sistema, mentre nel caso del FullMAC, il codice può essere eseguito sul lato firmware. In brcmfmac sono presenti buffer overflow e errori di verifica dei frame elaborati, sfruttati tramite l'invio di frame di controllo. Nel kernel Linux ci sono problemi con il driver brcmfmac. a febbraio.
Vulnerabilità identificate:
- CVE-2019-9503 — comportamento errato del driver brcmfmac nella gestione dei frame di controllo, utilizzati per interagire con il firmware. Se un frame con un evento del firmware proviene da una fonte esterna, il driver lo scarta, ma se l'evento viene ricevuto tramite il bus interno, il frame viene accettato. Il problema è che tramite il bus interno vengono trasmessi eventi da dispositivi che utilizzano USB, consentendo agli attaccanti di inviare con successo frame di controllo del firmware nel caso vengano utilizzati adattatori wireless con interfaccia USB;
- CVE-2019-9500 — attivando la funzione "Wake-up on Wireless LAN" è possibile causare un overflow della heap nel driver brcmfmac (funzione brcmf_wowl_nd_results) inviando un frame di controllo appositamente modificato. Questa vulnerabilità può essere utilizzata per eseguire codice sul sistema principale dopo la compromissione del chip o in combinazione con la vulnerabilità CVE-2019-9503 per eludere controlli nel caso di invio remoto del frame di controllo;
- CVE-2019-9501 — overflow del buffer nel driver wl (funzione wlc_wpa_sup_eapol), che si verifica durante la gestione dei messaggi, il cui contenuto del campo con informazioni sul produttore supera i 32 byte;
- CVE-2019-9502 — overflow del buffer nel driver wl (funzione wlc_wpa_plumb_gtk), che si verifica durante la gestione dei messaggi, il cui contenuto del campo con informazioni sul produttore supera i 164 byte.
Fonte: opennet.ru
