W sterownikach do układów bezprzewodowych Broadcom
Problemy zostały zidentyfikowane poprzez inżynierię wsteczną oprogramowania sprzętowego Broadcom. Dotknięte chipy są szeroko stosowane w laptopach, smartfonach i różnych urządzeniach konsumenckich, od telewizorów SmartTV po urządzenia Internetu rzeczy. W szczególności chipy Broadcom są stosowane 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 wypuszczenie poprawek we współpracy z producentami sprzętu zajęło około 7 miesięcy.
Dwie luki wpływają na wewnętrzne oprogramowanie i potencjalnie pozwalają na wykonanie kodu w środowisku systemu operacyjnego zastosowanego w chipach Broadcom, co umożliwia atak na środowiska nie korzystające z Linuksa (potwierdzono m.in. możliwość ataku na urządzenia Apple
Luki w sterownikach występują zarówno w zastrzeżonym sterowniku wl (SoftMAC i FullMAC), jak i w open source brcmfmac (FullMAC). W sterowniku wl wykryto dwa przepełnienia bufora, wykorzystywane podczas przesyłania przez punkt dostępowy specjalnie sformatowanych komunikatów EAPOL podczas procesu negocjacji połączenia (atak może zostać przeprowadzony podczas łączenia się ze złośliwym punktem dostępowym). W przypadku chipa z SoftMAC luki prowadzą do naruszenia jądra systemu, a w przypadku FullMAC kod można wykonać po stronie oprogramowania układowego. brcmfmac zawiera przepełnienie bufora i błąd sprawdzania ramek wykorzystywany przez wysyłanie ramek kontrolnych. Problemy ze sterownikiem brcmfmac w jądrze Linuksa
Zidentyfikowane podatności:
- CVE-2019-9503 - nieprawidłowe zachowanie sterownika brcmfmac podczas przetwarzania ramek sterujących używanych do interakcji z oprogramowaniem sprzętowym. Jeśli ramka ze zdarzeniem oprogramowania sprzętowego pochodzi ze źródła zewnętrznego, drajwer ją odrzuca, natomiast jeśli zdarzenie zostanie odebrane poprzez magistralę wewnętrzną, ramka zostanie pominięta. Problem polega na tym, że zdarzenia z urządzeń korzystających z USB są przesyłane poprzez wewnętrzną magistralę, co umożliwia atakującym skuteczne przesyłanie ramek kontrolnych oprogramowania sprzętowego w przypadku korzystania z adapterów bezprzewodowych z interfejsem USB;
- CVE-2019-9500 – Gdy włączona jest funkcja „Wake-up on Wireless LAN”, możliwe jest spowodowanie przepełnienia sterty w sterowniku brcmfmac (funkcja brcmf_wowl_nd_results) poprzez wysłanie specjalnie zmodyfikowanej ramki kontrolnej. Lukę tę można wykorzystać do zorganizowania wykonania kodu w systemie głównym po włamaniu do chipa lub w połączeniu z luką CVE-2019-9503 umożliwiającą ominięcie kontroli w przypadku zdalnego wysłania ramki kontrolnej;
- CVE-2019-9501 - przepełnienie bufora w sterowniku wl (funkcja wlc_wpa_sup_eapol) występujące podczas przetwarzania wiadomości, których zawartość pola informacyjnego producenta przekracza 32 bajty;
- CVE-2019-9502 — Przepełnienie bufora w sterowniku wl (funkcja wlc_wpa_plumb_gtk) występuje podczas przetwarzania wiadomości, których zawartość pola informacyjnego producenta przekracza 164 bajty.
Źródło: opennet.ru