Lo scorso 3 ottobre il ricercatore di sicurezza conosciuto con il nickname di Awakened aveva pubblicato una vulnerabilità critica di tipo Double-free (“a doppia liberazione di memoria”) che affliggeva la versione Android di WhatsApp.
Se sfruttata con successo, avrebbe consentito ai criminal hacker di compromettere i dispositivi Android, prenderne il controllo e rubare file e messaggi di chat semplicemente inviando un’immagine GIF contenente un codice di payload malevolo.
Indice degli argomenti
Altre 30.000 app Android mettono a rischio i nostri dati
La vulnerabilità era stata individuata nella libreria libpl_droidsonroids_gif compresa nel pacchetto android-gif-drawable e utilizzata per la corretta visualizzazione di GIF animate sui sistemi Android.
Facebook (proprietaria di WhatsApp) ha già rilasciato la versione 2.19.244 dell’app di messaggistica istantanea contenente la patch di sicurezza con la versione aggiornata della libreria. Il problema è che ancora diverse migliaia di applicazioni continuano ad usare la vecchia versione della libreria e sono quindi a rischio.
In particolare, secondo un nuovo rapporto pubblicato dai ricercatori di TrendMicro, solo su Google Play sarebbero 3.000 le applicazioni esposte ad un possibile attacco. Ma molte altre applicazioni in cui è presente la vulnerabilità sono ospitate su app store di terze parti come 1mobile, 9Apps, 91 market, APKPure, Aptoide, 360 Market, PP Assistant, QQ Market e Xiaomi Market. Per un totale di oltre 28.300 applicazioni a rischio (l’elenco completo è stato pubblicato su GitHub).
I dettagli della vulnerabilità in WhatsApp per Android
Identificata come CVE-2019-11932, la vulnerabilità non risiede nel codice sorgente di WhatsApp (e delle altre applicazioni Android) ma in una libreria open source utilizzata dalla Galleria di WhatsApp ed in particolare nel modo in cui l’app genera un’anteprima per i file multimediali come immagini, video e GIF (che tra l’altro rappresentano uno dei contenuti più condivisi dagli utenti non solo su WhatsApp).
In particolari condizioni d’uso, il difetto di sicurezza causa una corruzione della memoria dello smartphone mandandolo in crash oppure, come nel caso di WhatsApp, consentendo ai criminal hacker di ottenere l’accesso al dispositivo con privilegi utente elevati.
La caratteristica di questa particolare vulnerabilità Double-free è dunque quella di consentire ai criminal hacker di sfruttare sia un exploit di tipo RCE (Remote Code Execution) per l’esecuzione del payload malevolo sia di tipo PoE (Privilege Escalation) nel contesto del processo di esecuzione di WhatsApp e quindi con i permessi che l’applicazione ha sul dispositivo.
In questo modo, il payload malevolo ha tutti i permessi di accesso in lettura e scrittura alla memoria dello smartphone (sia quella interna sia quella esterna su SD card) e al database dei messaggi. E avrà anche tutte le autorizzazioni già concesse a WhatsApp dall’utente, inclusa la registrazione audio, l’accesso alla telecamera, l’accesso al file system, alla sandbox stessa dell’app e così via.
Per sfruttare questa vulnerabilità, un aggressore non deve fare altro che inviare un’immagine in formato GIF sul dispositivo Android della vittima utilizzando qualsiasi canale di comunicazione (quindi non necessariamente la chat di WhatsApp) e attendere che l’utente semplicemente apra la Galleria dell’app di messaggistica per condividere un qualsiasi contenuto con un amico.
Infatti, poiché il bug risiede nella libreria usata da WhatsApp per mostrare l’anteprima dei file multimediali, l’utente non deve inviare nulla perché la semplice apertura della Galleria di WhatsApp nella quale adesso è memorizzata anche la GIF malevola inviata dai criminal hacker (e usata quindi come grimaldello) innescherà automaticamente la vulnerabilità.
Da questo momento, l’aggressore riesce a stabilire un collegamento diretto con il dispositivo della vittima e a prenderne il controllo.
L’unica accortezza che gli aggressori devono seguire, qualora decidessero di inviare la GIF alle loro vittime sfruttando una piattaforma di messaggistica come WhatsApp o Messenger, è quella di condividerla come documento e non come file multimediale: l’algoritmo di compressione delle immagini utilizzato dalle app di messaggistica per velocizzare la condivisione di questo tipo di file, infatti, potrebbe danneggiare il payload nascosto nell’immagine e quindi impedire di fatto lo sfruttamento della vulnerabilità.
Ecco come correggere la vulnerabilità
La vulnerabilità interessa la versione 2.19.230 di WhatsApp e le precedenti in esecuzione su Android 8.1 e 9.0, mentre non è possibile innescarla su Android 8.0 e su release inferiori del sistema operativo mobile di Google in quanto il dispositivo si bloccherebbe prima che venga eseguito il payload malevolo per una diversa gestione delle chiamate alle librerie di sistema.
La vulnerabilità è stata segnalata a Facebook, proprietaria di WhatsApp, alla fine di luglio di quest’anno ma l’azienda ha incluso una patch di sicurezza soltanto nella versione 2.19.244 dell’app rilasciata a settembre.
Per proteggersi da questa vulnerabilità e mettere in sicurezza lo smartphone è dunque necessario aggiornare WhatsApp il prima possibile all’ultima versione disponibile su Google Play.
Tuttavia, poiché la vulnerabilità risiede in una libreria open source, è accaduto quello che molti analisti e ricercatori di sicurezza temevano e cioè che anche altre applicazioni Android, come abbiamo visto, risultano esposte ad attacchi simili a quello analizzato nell’articolo. Per questo motivo, lo sviluppatore della libreria interessata (Android GIF Drawable) ha rilasciato a sua volta la versione 1.2.18 che corregge la vulnerabilità double-free.
WhatsApp per iOS non è, ovviamente, interessato da questa vulnerabilità.
Articolo pubblicato lo scorso 3 ottobre e aggiornato in seguito alla scoperta della vulnerabilità “double-free” in altre migliaia di app Android.