For noen dager siden kom det nyheten om at fire sårbarheter ble oppdaget i driverne for Broadcoms trådløse brikker , som tillater eksterne angrep på enheter som inneholder disse brikkene.
I det enkleste tilfellet kan sårbarheter brukes til ekstern tjenestenekt, men scenarier der sårbarheter kan utvikles som tillater en uautorisert angriper å kjøre koden sin med Linux-kjernerettigheter ved å sende spesiallagde pakker, er ikke utelukket.
Disse problemene ble identifisert under reverse engineering av Broadcoms firmware, der brikkene som er utsatt for sårbarhet er mye brukt i bærbare datamaskiner, smarttelefoner og diverse forbrukerenheter, fra smart-TV-er til IoT-enheter.
Spesielt Broadcom-brikker brukes i smarttelefoner fra produsenter som Apple, Samsumg og Huawei.
Det er verdt å merke seg at Broadcom ble varslet om sårbarhetene i september 2018, men det tok omtrent 7 måneder (dvs. bare denne måneden) å gi ut rettelsene koordinert med utstyrsprodusentene.
Hva er de oppdagede sårbarhetene?
To sårbarheter påvirker den interne fastvaren og tillater potensielt kodekjøring i operativsystemmiljøet som brukes i Broadcom-brikker.
Dette tillater angrepsmiljøer som ikke bruker Linux (for eksempel bekreftes muligheten for et angrep på Apple-enheter, CVE-2019-8564)).
Her er det viktig å merke seg at noen Broadcom Wi-Fi-brikker er en spesialisert prosessor (ARM Cortex R4 eller M3), som vil kjøre likheten til operativsystemet ditt fra implementeringer av 802.11 trådløs stabel (FullMAC).
I disse brikkene sørger kontrolleren for samhandling mellom hovedsystemet og Wi-Fi -brikkens fastvare .
I beskrivelsen av angrepet:
For å få full kontroll over hovedsystemet etter at FullMAC er kompromittert, foreslås det å bruke ekstra sårbarheter eller full tilgang til systemminnet på noen brikker.
I SoftMAC-brikker implementeres den trådløse 802.11-stakken på kontrollersiden og drives av en system-CPU.
I driverne manifesterer sårbarhetene seg både i den proprietære wl-driveren (SoftMAC og FullMAC) og den åpne brcmfmac (FullMAC).
I wl-driveren blir to bufferoverløp oppdaget, utnyttet når tilgangspunktet sender spesiallagde EAPOL-meldinger under forbindelsesforhandlingsprosessen (et angrep kan utføres ved å koble til et ondsinnet tilgangspunkt).
Når det gjelder en brikke med SoftMAC, fører sårbarhetene til et kompromiss mellom systemkjernen, og i tilfelle FullMAC kan koden kjøre på fastvaresiden.
I brcmfmac er det et bufferoverløp og en feilsjekking for behandlede rammer, som utnyttes ved å sende kontrollrammer. I Linux-kjernen ble problemer i brcmfmac-driveren løst i februar.
Identifiserte sårbarheter
De fire sårbarhetene som ble offentliggjort siden september i fjor er nå oppført under følgende CVE-er.

CVE-2019-9503
Feil oppførsel til brcmfmac-driveren når du behandler kontrollrammer som brukes til å kommunisere med fastvaren.
Hvis en ramme med en firmwarehendelse kommer fra en ekstern kilde, forkaster kontrolleren den, men hvis hendelsen mottas via den interne bussen, ignoreres rammen.
Problemet er at hendelser fra enheter som bruker USB overføres via den interne bussen, slik at angripere kan overføre fastvaren som kontrollerer rammene ved bruk av trådløse USB-adaptere;
CVE-2019-9500
Når du aktiverer funksjonen «Vekking på trådløst LAN» , kan det føre til overflyt i brcmfmac-kontrolleren (funksjon brcmf_wowl_nd_results) ved å sende en spesialmodifisert kontrollramme.
Denne sårbarheten kan brukes til å orkestrere kodekjøring på hovedsystemet etter brikkekompromittering, eller i kombinasjon.
CVE-2019-9501
Bufferoverløpet i wl-driveren (wlc_wpa_sup_eapol-funksjonen), som oppstår under meldingsbehandling, innholdet i produsentens informasjonsfelt som overstiger 32 byte.
CVE-2019-9502
Bufferoverløpet i wl-driveren (wlc_wpa_plumb_gtk-funksjonen), som oppstår under meldingsbehandling, innholdet i produsentens informasjonsfelt som overstiger 164 byte.
Kilde: https://blog.quarkslab.com