Vulnerabilità nel firmware Android che consente l'esecuzione di codice tramite l'invio di un messaggio

I ricercatori del team Google Project Zero hanno analizzato in dettaglio la tecnica per creare un exploit funzionante che consente di eseguire codice con diritti di kernel Linux a distanza, inviando un'assegnazione SMS o RCS con un allegato audio appositamente strutturato. L'attacco avviene senza richiedere alcuna azione da parte dell'utente, incluso non è necessario visualizzare o ascoltare il messaggio ricevuto.

L'exploit sfrutta due vulnerabilità: nella libreria Dolby Unified Decoder (CVE-2025-54957) e nel driver bigwave per il kernel Linux (CVE-2025-36934). In precedenza, per sfruttare le vulnerabilità nei codec era necessario che l'utente ascoltasse o vedesse il contenuto dannoso ricevuto. Dopo l'integrazione degli assistenti AI negli ultimi rilasci delle versioni firmware di Android, il contenuto multimediale ricevuto viene automaticamente decodificato una volta ricevuto, aumentando notevolmente la superficie di attacco, senza richiedere azioni da parte dell'utente (0-click). Nel contesto dei messaggi audio SMS e RCS, l'app Google Messages utilizza il servizio com.google.android.tts per generare automaticamente la trascrizione da applicare ai messaggi audio per la ricerca testuale, consentendo di sfruttare senza intervento dell'utente le vulnerabilità nei codec audio esistenti.

Il problema nel Dolby Unified Decoder è causato da un overflow intero nel calcolo della dimensione del buffer per le strutture dati syncframe elaborate, che può essere sfruttato per la scrittura oltre il buffer allocato. A causa dell'overflow, potrebbe essere sovrascritto il puntatore utilizzato per elaborare il prossimo frame di sincronizzazione, il cui cambiamento consente, a sua volta, di sovrascrivere un puntatore alla funzione con dati controllati dall'attaccante e di organizzare l'esecuzione del proprio codice con diritti "mediacodec", limitati tramite SELinux.

Per sfruttare il kernel Linux è stata utilizzata una vulnerabilità nel driver bigwave, responsabile della gestione del dispositivo carattere /dev/bigwave, a cui è stato aperto l'accesso dal contesto SELinux "mediacodec". La vulnerabilità permetteva di sovrascrivere le strutture del kernel tramite manipolazioni con la chiamata ioctl BIGO_IOCX_PROCESS e ottenere l'esecuzione di codice con privilegi di kernel.

Una vulnerabilità nella libreria Dolby Unified Decoder (libcodec2_soft_ddpdec.so), che fornisce funzioni per decodificare i formati Dolby Digital (DD, AC-3) e Dolby Digital Plus (DD+, EAC-3), non è specifica per Android e il firmware di Pixel 9, ma si manifesta anche su altre piattaforme (Samsung S24, MacBook Air M1, iPhone 17 Pro, Windows, ChromeOS, ecc.). Nel repository Android AOSP e nel firmware di Samsung S24, ai processi avviati nel contesto di mediacodec è applicato un filtro seccomp per le chiamate di sistema, che rende difficile ulteriori exploit delle vulnerabilità nel kernel. Nel firmware per Pixel 9 tale filtro era assente. Da attacchi potrebbe proteggere il meccanismo di Memory Tagging (MTE), ma è disponibile per i dispositivi Pixel 8+ solo sotto forma di opzione, attivabile quando si attiva la modalità «Advanced Protection». In macOS e iOS, l'exploit è reso difficile dalla compilazione della libreria con il flag «-fbounds-safet», che inserisce controlli aggiuntivi per l'uscita dagli array, riducendo le prestazioni.

I ricercatori analizzano separatamente i problemi relativi alla distribuzione della correzione della vulnerabilità nel Dolby Unified Decoder agli utenti. Le informazioni sulla vulnerabilità sono state rese pubbliche 82 giorni prima che la correzione fosse disponibile per gli utenti dei dispositivi Pixel. La Dolby è stata informata del problema il 26 giugno 2025. La prima correzione binaria è stata rilasciata il 18 settembre per ChromeOS, ma per i dispositivi Android la società ha fornito patch binarie solo l'8 ottobre. Il 15 ottobre sono state rese pubbliche informazioni sulla vulnerabilità. Il 12 novembre Samsung ha rilasciato la correzione e solo il 5 gennaio è stata pubblicata la correzione per i dispositivi Pixel. La distribuzione della patch per tutti i dispositivi Android ha richiesto 139 giorni.

In Dolby Unified Decoder è stata identificata una vulnerabilità in meno di due giorni, mentre nel driver BigWave in meno di un giorno di revisione. Si stima che il tempo di sviluppo per un exploit funzionante della vulnerabilità in Dolby Unified Decoder sia di 8 settimane con un singolo ricercatore, e per BigWave di 3 settimane. Nel rapporto pubblicato il 14 ottobre, la vulnerabilità in Dolby Unified Decoder è stata contrassegnata come a basso rischio, nonostante la divulgazione dei dettagli riguardanti l'exploit in fase di sviluppo. La vulnerabilità in BigWave ha ricevuto un livello di rischio medio (Moderato) in Android, giustificando ciò con il fatto che l'attacco è possibile solo da contenuti privilegiati e non è accessibile in contesti non privilegiati (dopo tre mesi, lo stato della vulnerabilità è stato cambiato in 'problema pericoloso').

Fonte: opennet.ru

Acquista un hosting affidabile per siti con protezione DDoS, server VPS VDS 🔥 Acquista un hosting affidabile per siti con protezione DDoS, server VPS VDS | ProHoster