Kilka dni temu pojawiła się informacja o wykryciu czterech luk w zabezpieczeniach sterowników układów bezprzewodowych firmy Broadcom , które umożliwiają zdalne ataki na urządzenia zawierające te układy.
W najprostszym przypadku luki w zabezpieczeniach mogą zostać wykorzystane do zdalnego uniemożliwienia świadczenia usługi, ale nie wyklucza się scenariuszy, w których mogą zostać opracowane luki pozwalające nieuwierzytelnionemu atakującemu na wykonanie kodu z uprawnieniami jądra Linux poprzez wysłanie specjalnie spreparowanych pakietów.
Problemy te zidentyfikowano podczas inżynierii wstecznej oprogramowania sprzętowego firmy Broadcom, gdzie podatne na ataki układy scalone są powszechnie stosowane w laptopach, smartfonach i różnych urządzeniach konsumenckich, od telewizorów Smart TV po urządzenia IoT.
W szczególności chipy Broadcom są używane w smartfonach takich producentów jak Apple, Samsumg i Huawei.
Warto zauważyć, że firma Broadcom została powiadomiona o lukach we wrześniu 2018 r., ale minęło około 7 miesięcy (czyli tylko w tym miesiącu), zanim opublikowano poprawki skoordynowane z producentami sprzętu.
Jakie wykryto luki?
Dwie luki w zabezpieczeniach dotyczą wewnętrznego oprogramowania sprzętowego i potencjalnie umożliwiają wykonanie kodu w środowisku systemu operacyjnego używanego w układach Broadcom.
Umożliwia to atakowanie środowisk, które nie korzystają z systemu Linux (istnieje np. możliwość ataku na urządzenia Apple, potwierdzono lukę CVE-2019-8564).
W tym miejscu należy zauważyć, że niektóre chipy Broadcom Wi-Fi to wyspecjalizowany procesor (ARM Cortex R4 lub M3), który będzie działał podobieństwo twojego systemu operacyjnego z implementacji jego bezprzewodowego stosu 802.11 (FullMAC).
W tych układach kontroler zapewnia interakcję systemu głównego z oprogramowaniem układowym Wi-Fi .
W opisie ataku:
Aby uzyskać pełną kontrolę nad głównym systemem po włamaniu do FullMAC, proponuje się wykorzystanie dodatkowych luk lub pełnego dostępu do pamięci systemowej w niektórych układach.
W układach SoftMAC stos bezprzewodowy 802.11 jest zaimplementowany po stronie kontrolera i jest obsługiwany przez systemowy procesor CPU.
Wśród sterowników luki ujawniają się zarówno w zastrzeżonym sterowniku wl (SoftMAC i FullMAC), jak i otwartym brcmfmac (FullMAC).
W sterowniku wl wykrywane są dwa przepełnienia bufora, które są wykorzystywane, gdy punkt dostępu wysyła specjalnie spreparowane komunikaty EAPOL podczas procesu negocjacji połączenia (atak można przeprowadzić, łącząc się ze złośliwym punktem dostępu).
W przypadku chipa z SoftMAC luki prowadzą do złamania jądra systemu, aw przypadku FullMAC kod może działać po stronie oprogramowania układowego.
W brcmfmac występuje przepełnienie bufora i sprawdzanie błędów pod kątem przetworzonych ramek, które są wykorzystywane przez wysyłanie ramek sterujących. W jądrze Linuksa problemy ze sterownikiem brcmfmac zostały naprawione w lutym.
Zidentyfikowane podatności
Cztery luki w zabezpieczeniach, które zostały ujawnione od września ubiegłego roku, są obecnie wymienione pod następującymi kodami CVE.

CVE-2019-9503
Nieprawidłowe zachowanie sterownika brcmfmac podczas przetwarzania ramek sterujących używanych do interakcji z oprogramowaniem układowym.
Jeśli ramka ze zdarzeniem oprogramowania sprzętowego pochodzi ze źródła zewnętrznego, kontroler odrzuca ją, ale jeśli zdarzenie zostanie odebrane przez magistralę wewnętrzną, ramka jest ignorowana.
Problem polega na tym, że zdarzenia z urządzeń wykorzystujących USB są przesyłane przez wewnętrzną magistralę, co umożliwia atakującym skuteczne przeniesienie oprogramowania sprzętowego sterującego ramkami w przypadku korzystania z bezprzewodowych adapterów USB;
CVE-2019-9500
Aktywacja funkcji „Wake-up on Wireless LAN” może spowodować przepełnienie kontrolera brcmfmac (funkcja brcmf_wowl_nd_results) poprzez wysłanie specjalnie zmodyfikowanej ramki sterującej.
Tę lukę można wykorzystać do zorganizowania wykonania kodu w systemie głównym po naruszeniu układu scalonego lub w połączeniu tych mechanizmów.
CVE-2019-9501
Przepełnienie bufora w sterowniku wl (funkcja wlc_wpa_sup_eapol), które występuje podczas przetwarzania komunikatu, w którym zawartość pola informacyjnego producenta przekracza 32 bajty.
CVE-2019-9502
Przepełnienie bufora w sterowniku wl (funkcja wlc_wpa_plumb_gtk), które występuje podczas przetwarzania komunikatu, w którym zawartość pola informacyjnego producenta przekracza 164 bajty.
Źródło: https://blog.quarkslab.com