Dezvoltatorii proiectului GrapheneOS, care dezvoltă o ramură protejată a codului sursă AOSP (Android Open Source Project), au identificat o vulnerabilitate în stiva Bluetooth a platformei Android 14, care poate duce potențial la executarea de cod de la distanță. Problema este cauzată de accesarea unei zone de memorie deja eliberate (use-after-free) în codul de procesare a sunetului transmis prin Bluetooth LE.
Vulnerabilitatea a fost identificată datorită integrării unei protecții suplimentare în apelul hardened_malloc, folosind extensia ARMv8.5 MTE (MemTag, Memory Tagging Extension), care permite asocierea de etichete fiecărei operațiuni de alocare a memoriei și organizarea unei verificări a corectitudinii utilizării pointerelor pentru a bloca exploatarea vulnerabilităților cauzate de accesarea blocurilor de memorie deja eliberate, depășirile de buffer, accesările înainte de inițializare și utilizarea în afara contextului curent.
Eroarea apare începând cu actualizarea Android 14 QPR2 (Quarterly Platform Release), publicată la începutul lunii martie. În codul de bază al platformei Android 14, mecanismul MTE este disponibil ca opțiune și nu este utilizat implicit, dar în GrapheneOS a fost deja activat pentru protecție suplimentară, ceea ce a permis diagnosticarea erorii după actualizarea la Android 14 QPR2. Eroarea provoca o închidere neașteptată atunci când se utilizau căștile Bluetooth Samsung Galaxy Buds2 Pro cu firmware care include protecția bazată pe MTE. Analiza incidentului a arătat că problema era legată de accesarea memoriei deja eliberate în handler-ul Bluetooth LE, nu de o eroare cauzată de integrarea MTE.
Vulnerabilitatea a fost eliminată în versiunea GrapheneOS 2024030900 și afectează versiunile pentru smartphone-uri care nu au activată protecția hardware suplimentară bazată pe extensia MTE (MTE este activat în prezent doar pentru dispozitivele Pixel 8 și Pixel 8 Pro). Vulnerabilitatea se reproduce pe smartphone-urile Google Pixel 8 cu firmware bazat pe Android 14 QPR2. În Android pentru smartphone-urile din seria Pixel 8, modul MTE poate fi activat în setările pentru dezvoltatori („Settings / System / Developer options / Memory Tagging Extensions”). Activarea MTE duce la o creștere a consumului de memorie de aproximativ 3%, dar nu reduce performanța.
Sursa: opennet.ro
