Sårbarheter i drivrutiner för Broadcom WiFi-chip, så att du kan attackera systemet på distans

I drivrutiner för Broadcom trådlösa chips avslöjat fyra sårbarheter. I det enklaste fallet kan sårbarheterna användas för att på distans orsaka en denial of service, men det går inte att utesluta scenarier där exploateringar kan utvecklas som tillåter en oautentiserad angripare att exekvera sin kod med Linux-kärnprivilegier genom att skicka specialdesignade paket.

Problemen identifierades genom omvänd utveckling av Broadcoms firmware. De drabbade chipsen används i stor utsträckning i bärbara datorer, smartphones och en mängd olika konsumentenheter, från SmartTV till Internet of Things-enheter. I synnerhet används Broadcom-chips i smartphones från tillverkare som Apple, Samsumg och Huawei. Det är anmärkningsvärt att Broadcom underrättades om sårbarheterna redan i september 2018, men det tog cirka 7 månader att släppa korrigeringar i samarbete med utrustningstillverkare.

Två sårbarheter påverkar intern firmware och tillåter potentiellt att kod exekveras i miljön för operativsystemet som används i Broadcom-chips, vilket gör det möjligt att attackera miljöer som inte använder Linux (till exempel har möjligheten att attackera Apple-enheter bekräftats CVE-2019-8564). Låt oss komma ihåg att vissa Broadcom Wi-Fi-chips är en specialiserad processor (ARM Cortex R4 eller M3), som kör ett liknande operativsystem med implementeringar av dess 802.11 trådlösa stack (FullMAC). I sådana chips säkerställer drivrutinen interaktion mellan huvudsystemet och Wi-Fi-chipets firmware. För att få full kontroll över huvudsystemet efter att FullMAC har äventyrats, föreslås det att man använder ytterligare sårbarheter eller, på vissa chips, dra nytta av full tillgång till systemminnet. I chips med SoftMAC implementeras den trådlösa 802.11-stacken på förarsidan och exekveras med hjälp av systemets CPU.

Sårbarheter i drivrutiner för Broadcom WiFi-chip, så att du kan attackera systemet på distans

Drivrutinssårbarheter visas i både den proprietära wl-drivrutinen (SoftMAC och FullMAC) och brcmfmac (FullMAC) med öppen källkod. Två buffertspill upptäcktes i wl-drivrutinen, som utnyttjades när åtkomstpunkten sänder speciellt formaterade EAPOL-meddelanden under anslutningsförhandlingsprocessen (attacken kan utföras vid anslutning till en skadlig åtkomstpunkt). När det gäller ett chip med SoftMAC leder sårbarheter till att systemkärnan kompromissar, och i fallet med FullMAC kan koden exekveras på firmwaresidan. brcmfmac innehåller ett buffertspill och ett ramkontrollfel som utnyttjas genom att skicka kontrollramar. Problem med brcmfmac-drivrutinen i Linux-kärnan var utslagen i februari.

Identifierade sårbarheter:

  • CVE-2019-9503 - felaktigt beteende hos brcmfmac-drivrutinen vid bearbetning av kontrollramar som används för att interagera med den fasta programvaran. Om en ram med en firmware-händelse kommer från en extern källa, kasserar föraren den, men om händelsen tas emot via den interna bussen hoppas ramen över. Problemet är att händelser från enheter som använder USB överförs via den interna bussen, vilket gör att angripare framgångsrikt kan överföra kontrollramar för fast programvara när de använder trådlösa adaptrar med ett USB-gränssnitt;
  • CVE-2019-9500 – När funktionen "Väckning på trådlöst LAN" är aktiverad är det möjligt att orsaka ett heapspill i brcmfmac-drivrutinen (funktion brcmf_wowl_nd_results) genom att skicka en speciellt modifierad kontrollram. Denna sårbarhet kan användas för att organisera kodexekvering i huvudsystemet efter att chippet har äventyrats eller i kombination med CVE-2019-9503 sårbarheten för att kringgå kontroller i händelse av fjärrsändning av en kontrollram;
  • CVE-2019-9501 - ett buffertspill i wl-drivrutinen (wlc_wpa_sup_eapol-funktionen) som uppstår vid bearbetning av meddelanden vars tillverkares informationsfältinnehåll överstiger 32 byte;
  • CVE-2019-9502 - Ett buffertspill i wl-drivrutinen (wlc_wpa_plumb_gtk-funktion) inträffar vid bearbetning av meddelanden vars innehåll i tillverkarens informationsfält överstiger 164 byte.

Källa: opennet.ru

Lägg en kommentar