Gli sviluppatori del progetto GrapheneOS, che sviluppa un ramo protetto della base di codice AOSP (Android Open Source Project), hanno identificato una vulnerabilità nello stack Bluetooth della piattaforma Android 14, che potrebbe portare a un'esecuzione remota di codice. Il problema è causato da un accesso a un'area di memoria già liberata (use-after-free) nel codice di gestione del suono trasmesso tramite Bluetooth LE.
La vulnerabilità è stata identificata grazie all'integrazione di una protezione aggiuntiva nella chiamata a hardened_malloc, che utilizza l'estensione ARMv8.5 MTE (MemTag, Memory Tagging Extension), che consente di associare tag a ogni operazione di allocazione di memoria e organizzare un controllo della correttezza nell'uso dei puntatori per bloccare sfruttamenti delle vulnerabilità originate da accessi a blocchi di memoria già liberati, overflow di buffer, accessi prima dell'inizializzazione e utilizzo fuori dal contesto corrente.
L'errore si manifesta a partire dall'aggiornamento Android 14 QPR2 (Quarterly Platform Release), pubblicato all'inizio di marzo. Nella base di codice principale della piattaforma Android 14, il meccanismo MTE è disponibile come opzione e non è ancora attivato di default, ma in GrapheneOS è già stato implementato per una protezione aggiuntiva, consentendo così di diagnosticare l'errore dopo l'aggiornamento a Android 14 QPR2. L'errore causava un arresto anomalo durante l'uso delle cuffie Bluetooth Samsung Galaxy Buds2 Pro con firmware in cui è attivata la protezione basata su MTE. L'analisi del caso ha rivelato che il problema era relativo a un accesso a memoria già liberata nel gestore Bluetooth LE, e non a un fallimento causato dall'integrazione dell'MTE.
La vulnerabilità è stata corretta nella versione GrapheneOS 2024030900 e riguarda le build per smartphone in cui non è attivata la protezione hardware aggiuntiva basata sull'estensione MTE (MTE al momento è attivato solo per i dispositivi Pixel 8 e Pixel 8 Pro). La vulnerabilità si riproduce sugli smartphone Google Pixel 8 con software basato su Android 14 QPR2. In Android per gli smartphone della serie Pixel 8, la modalità MTE può essere attivata nelle impostazioni per sviluppatori ("Impostazioni / Sistema / Opzioni sviluppatore / Estensioni di tagging della memoria"). L'attivazione dell'MTE porta a un aumento del consumo di memoria di circa il 3%, ma non riduce le prestazioni.
Fonte: opennet.ru
