Luki w sterownikach układów Broadcom WiFi, umożliwiające zdalny atak na system

W sterownikach do układów bezprzewodowych Broadcom ujawnił cztery luki w zabezpieczeniach. W najprostszym przypadku luki można wykorzystać do zdalnego spowodowania odmowy usługi, ale nie można wykluczyć scenariuszy, w których mogą zostać opracowane exploity umożliwiające nieuwierzytelnionemu atakującemu wykonanie kodu z uprawnieniami jądra Linuksa poprzez wysłanie specjalnie zaprojektowanych pakietów.

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 CVE-2019-8564). Przypomnijmy, że niektóre chipy Wi-Fi Broadcom to wyspecjalizowany procesor (ARM Cortex R4 lub M3), który obsługuje podobny system operacyjny z implementacjami stosu bezprzewodowego 802.11 (FullMAC). W takich chipach sterownik zapewnia interakcję głównego systemu z oprogramowaniem układowym Wi-Fi. Aby uzyskać pełną kontrolę nad głównym systemem po włamaniu do FullMAC, proponuje się wykorzystanie dodatkowych luk lub, w przypadku niektórych chipów, skorzystanie z pełnego dostępu do pamięci systemowej. W chipach z SoftMAC stos bezprzewodowy 802.11 jest zaimplementowany po stronie sterownika i wykonywany przy użyciu procesora systemowego.

Luki w sterownikach układów Broadcom WiFi, umożliwiające zdalny atak na system

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 były wyłączony w lutym.

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

Dodaj komentarz