
Mi a Qualcomm GBL-sebezhetőség lényege
A sérülékenység több komponensből áll, amelyek összehangolt kihasználásával lehetséges a korábban zárt bootloader kinyitása. Az első lépés, hogy a Qualcomm saját Android Bootloader (ABL) implementációja a GBL-t (Generic Boot Loader) az efisp partícióról tölti be, ha a telefon Android 16-ot futtat. A gond ugyanis az, hogy az ABL csak azt ellenőrzi, valóban UEFI-alkalmazás van-e ezen a partíción, de annak eredetiségét már nem vizsgálja. Így gyakorlatilag bármilyen tetszőlegesen szerkesztett kódot rá lehet tenni az efisp partícióra, amelyet aztán a rendszer automatikusan lefuttat indításkor.
Mindez tovább gyengíti a védelmet
Az efisp partíció írása alapértelmezetten tiltva van, az SELinux biztonsági rendszer is Enforcing módban fut, tehát a kritikus sebezhetőség csak akkor válik kihasználhatóvá, ha ez Permissive-re vált. A gondot az okozza, hogy az SELinux lazítása root jogosultságot kívánna, ám éppen a bootloader feloldásához volna szükség ezekre a jogosultságokra. A körből egy újabb hibásan implementált fastboot parancs segít kilépni.
A Qualcomm ABL egy fastboot oem set-gpu-preemption nevű parancsot támogat, amelynek első paramétereként 0 vagy 1 adható meg, de valójában tetszőleges, ellenőrizetlen argumentum is megadható. Ezt kihasználva hozzáadható például az androidboot.selinux=permissive paraméter, a telefon újraindítása után pedig átáll az SELinux Permissive módba, és már lehet is írni az efisp partíciót.
A Xiaomi 17-nél már működik a lánc
A Xiaomi 17 széria felhasználói ezzel a megoldással eljutnak odáig, hogy egy saját UEFI-alkalmazást helyeznek el az efisp partíción. A következő bootolásnál ez az alkalmazás átveszi az irányítást, és módosítva a rendszerparamétereket (az is_unlocked és is_unlocked_critical értékek egyesre állítása) egyszerűen kinyitja a bootloadert – pont ahogy a hivatalos fastboot oem unlock parancs is tenné.
Mostanáig a kínai piacra szánt Xiaomi készülékeken különösen szigorú időkorlátok, kérdőíves ellenőrzés és egyedi eszközkorlátozás nehezítették a bootloader nyitását, amit a legtöbb felhasználó végül feladott. A mostani láncolat azonban mindezt megkerüli, ha a futtatott rendszer még nem kapta meg a tegnap bevezetett HyperOS 3.0.304.0 frissítést, ami már befoltozhatta a hibát.
A veszély hamar elérhet más készülékeket is
Jelenleg úgy tűnik, hogy a GBL-exploit alapfeltétele az Android 16 futása, valamint a Qualcomm ABL, amelyet a legtöbb nagy gyártó használ – kivéve a Samsungot, ahol saját S-Boot megoldás működik. Bár a sérülékenység pontos láncolata készülékről készülékre eltérhet, a támadók bármely, Snapdragon 8 Elite Gen 5-re épülő típus esetében próbálkozhatnak hasonló módszerekkel.
Előkerültek más, gyengén védett fastboot parancsok is, amelyek szintén láncszemként szolgálhatnak, de lényeges szempont, hogy csak akkor vezetnek sikerre, ha az adott gyártó még nem reagált gyors hibajavítással. A későbbiekben várható, hogy a Xiaomi, majd más gyártók is foltozzák ezt a kritikus sebezhetőséget, de amíg ez megtörténik, a felhasználók számára adott a megkerülés lehetősége – igaz, komoly biztonsági kockázattal.
