Remote Code Execution (con alti privilegi) su milioni di Smartphone Samsung

swiftkey-samsung

E’ notizia di questi ultimi giorni la scoperta di una nuova vulnerabilità di tipo RCE (Remote Command Execution) su gran parte degli smartphone Samsung.

Una persona in grado di manipolare il traffico di rete della vittima, sfruttando la falla presente nel software della tastiera dei dispositivi Samsung, può trasformare l’aggiornamento della stessa nel download di un software malevolo, riuscendo così ad eseguire codice con privilegi di sistema.

La tastiera di Samsung (SwiftKey) è preinstallata su tutti i device del produttore e non può essere disabilitata o disinstallata. Scaricando una tastiera diversa dallo store Andoid si rimane lo stesso vulnerabili, in quanto il software verifica periodicamente la presenza di aggiornamenti tramite richieste HTTP.

E’ stato reso disponibile anche un software PoC (Proof of Concept) per sfruttare la falla, che è possibile analizzare qui.

La vulnerabilità

La tastiera Swift prevede un meccanismo di update che consente di installare nuove lingue o aggiornare quelle già presenti attraverso il download di un pacchetto remoto addizionale. Quando un utente effettua tale aggiornamento, sulla rete viaggerà la seguente richiesta di tipo HTTP:

GET http://skslm.swiftkey.net/samsung/downloads/v1.3-USA/az_AZ.zip

A questo punto, una volta terminato il download, il file verrà salvato in locale sullo smartphone nel percorso

/data/data/com.sec.android.inputmethod/app_SwiftKey/<languagePackAbbrev>/

Il ricercatore Ryan Welton di NowSecure, ha scoperto che una volta in grado di controllare il traffico di rete della vittima, ad esempio con l’utilizzo di mitmproxy, è possibile intercettare la richiesta e far scaricare un proprio pacchetto contenente un altro software al posto dell’originale, il quale (grazie ad alcuni accorgimenti particolari) potrà eseguire un payload malevolo in un contesto privilegiato.

Il payload di esempio utilizzato da Ryan, richiede la conoscenza specifica di versione e modello del device target per funzionare. Tuttavia, la tastiera Swift è abbastanza furba da fornire nell’header HTTP tali informazioni nel momento stesso in cui l’aggiornamento viene avviato.

Rimedi

Sfortunatamente, l’unico rimedio attuabile è quello di attendere un aggiornamento di sistema da parte di Samsung.

Per il momento il consiglio che l’autore originale della scoperta si sente di dare è quello di non connettersi a reti Wifi sconosciute, cambiare smartphone e contattare direttamente Samsung affinchè si attivi presto per un aggiornamento ufficiale.