Se pare că o nouă vulnerabilitate Qualcomm GBL afectează SoC-urile Qualcomm, în special cel mai recent procesor Snapdragon 8 Elite Gen 5. Aceasta permite deblocarea bootloader-ului pe telefoanele emblematice care anterior erau dificil de deblocat.
Un exploit Qualcomm deblochează bootloader-ele
Această vulnerabilitate pare să afecteze toți producătorii de echipamente originale, cu excepția Samsung, care folosește propriul S-Boot în loc de ABL-ul Qualcomm.
Se pare că noul exploit Qualcomm GBL a circulat în ultimele zile. Acesta vizează o omisiune în modul în care GBL (Generic Bootloader Library) se încarcă pe smartphone-urile Android cu SoC-uri Qualcomm. Pe scurt, Android Bootloader (ABL) specific furnizorului Qualcomm încearcă să încarce GBL din partiția „efisp” de pe telefoanele care rulează Android 16.
În acest proces, Qualcomm ABL verifică pur și simplu prezența aplicației UEFI în partiția respectivă, în loc să verifice autenticitatea acesteia ca GBL. Această omisiune permite încărcarea codului nesemnat pe partiția efisp, care este executat fără verificare. Aceasta formează baza exploit-ului Qualcomm GBL.
În mod implicit, scrierea pe partiția efisp nu este posibilă deoarece SELinux rulează în modul Enforcing, care blochează acțiunile nepermise. Pentru a activa accesul la scriere, SELinux trebuie să fie setat în modul Permissive, care necesită privilegii de root. Cu toate acestea, aveți nevoie de Permissive SELinux pentru a debloca bootloader-ul prin exploit-ul GBL și a obține acces root. Se pare că aici intervine o altă vulnerabilitate.
ABL-ul Qualcomm include o comandă fastboot, „fastboot oem set-gpu-preemption”, care acceptă 0 sau 1 ca prim parametru. Cu toate acestea, comanda pare să accepte, de asemenea, în mod neintenționat, argumente de intrare fără nicio verificare sau igienizare, permițându-vă să adăugați parametri personalizați în linia de comandă. Aceasta, la rândul ei, este utilizată pentru a adăuga parametrul „androidboot.selinux-permissive” și a comuta SELinux de la Enforcing la Permissive. Comanda „fastboot set-gpu-preemption 0 androidboot.selinux=permissive” comută în mod surprinzător SELinux la Permissive.
Pe seria Xiaomi 17, exploit-ul leagă împreună serviciul de binder IMQSNative al aplicației MQSAS (MIUI Quality Service and Secure) din HyperOS și permisiunile sale la nivel de sistem pentru a scrie o aplicație UEFI personalizată pe partiția efisp. După o repornire, ABL încarcă această aplicație UEFI personalizată fără verificare, datorită exploit-ului GBL.
Nu este clar dacă exploit-ul GBL poate funcționa și pe alte SoC-uri Qualcomm în afară de Snapdragon 8 Elite Gen 5. Cu toate acestea, din moment ce Android 16 introduce GBL, probaibl nu merge pe sistemele de operare mai vechi. În plus, exploit-ul GBL ar trebui să afecteze toți producătorii de echipamente originale (OEM), cu excepția Samsung, care folosește propriul S-Boot în loc de ABL-ul Qualcomm.