Już dziś w Las Vegas rozpocznie się konferencja Blackhat. Być może jedną z jej najjaśniejszych gwiazd będzie atak QualPwn, wykorzystujący dwie podatności urządzeń z wybranymi modelami SoC-ów Qualcomma. Dość powiedzieć, że możliwe jest zdalne (Wi-Fi) uzyskanie dostępu do uprawnień na poziomie jądra systemowego. Obie podatności zostały załatane w sierpniowych biuletynach bezpieczeństwa Androida.
Podatności umożliwiające przeprowadzenie ataku QualPwn tkwią w dostarczanym przez Qualcomma firmware, konkretnie w sterowniku Wi-Fi. Otrzymały sygnatury CVE-2019-10538 oraz CVE-2019-10540. Obie w kombinacji umożliwiają przepełnienie bufora firmware WLAN i modemu za pomocą odpowiednio spreparowanego pakietu. To zaś ma prowadzić do możliwości wykonania dowolnego kodu z najwyższymi uprawnieniami.
CVE-2019-10538 to podatność firmware kontrolera Wi-Fi, która umożliwia na wykonanie kodu w kontekście samego kontrolera. Wstrzyknięcie następuje za pomocą spreparowanego pakietu, wystarczy więc, że atakujący znajduje się w tej samej sieci Wi-Fi. Po ulokowaniu kodu w kontekście kontrolera, wykorzystuje on podatność CVE-2019-10540 w androidowej wersji jądra Linux.
Firmware Wi-Fi ma możliwość dopuszczenia do przekazywania danych z kontrolera Wi-Fi do systemowego jądra. Jądro w Androidzie nie sprawdza jednak, czy przekazywane z kontrolera dane nie doprowadzają do nadpisania pamięci, a stąd już prosta droga do eskalacji uprawnień i przejęcia całkowitej kontroli nad urządzeniem. Demonstracji ze szczegółami możemy się spodziewać podczas konferencji Blackhat.
Luka została odnaleziona przez chińską grupę Tencent’s Blade. Podatność występuje w wielu Snapdragonach łącznie z modelem 855, który znaleźć możemy we flagowcach. Nie będzie przesady w twierdzeniu, że za pomocą QualPwn przejąć można całkowitą kontrolę nad milionami urządzeń różnych producentów, z których część zapewne nigdy nie otrzyma stosownych łatek bezpieczeństwa.
Lista SoC-ów podatnych na QualPwn prezentuje się następująco (SD to oczywiście Snapdragon): IPQ8074, MSM8996AU, QCA6174A, QCA6574AU, QCA8081, QCA9377, QCA9379, QCS404, QCS405, QCS605, SD 636, SD 665, SD 675, SD 712 / SD 710 / SD 670, SD 730, SD 820, SD 835, SD 845 / SD 850, SD 855, SD 8CX, SDA660, SDM630, SDM660, SXR1130.
Zobacz też: Android w końcu będzie bezpieczniejszy? Tagowanie pamięci trafi pod strzechy