Un messaggio SMS appositamente manipolato è sufficiente per mandare in crash il servizio telefonico di Android, interrompere le chiamate in corso e rendere temporaneamente inutilizzabile lo smartphone. L’attacco non richiede alcuna interazione da parte della vittima e può compromettere anche la possibilità di contattare i servizi di emergenza.
Una vulnerabilità nascosta nel framework telefonico Android
Una vulnerabilità denominata SMS of Death riporta l’attenzione sulla sicurezza del sistema di gestione dei messaggi negli smartphone Android. Il problema, documentato dal ricercatore indipendente Mark Blaszczyk consente a un attaccante remoto di provocare un’interruzione del servizio telefonico attraverso l’invio di un singolo messaggio WAP Push[1] appositamente costruito.
L’aspetto più preoccupante è la modalità di esecuzione. Si tratta di un attacco zero-click, nel quale il destinatario non deve aprire il messaggio, selezionare un collegamento o autorizzare alcuna operazione. Il contenuto viene elaborato automaticamente dal sistema operativo e può provocare il blocco del processo responsabile delle funzionalità telefoniche.
La vulnerabilità interessa `WapPushOverSms`, un componente del framework Android collocato nel percorso `frameworks/opt/telephony`, incaricato di interpretare e gestire i messaggi WAP Push ricevuti dal dispositivo.
La causa tecnica risiede nella gestione non corretta di un valore numerico utilizzato durante l’interpretazione del messaggio. In particolare, la funzione `decodeWapPdu()`, spiega il ricercatore, legge la lunghezza dell’intestazione WSP attraverso un valore codificato come `uintvar`, inizialmente restituito come numero a 64 bit. Il valore viene successivamente convertito in un intero a 32 bit senza un controllo preventivo del suo intervallo. Questa operazione può trasformare un numero apparentemente valido in un valore negativo, che viene poi utilizzato per determinare la dimensione di un array. La conseguenza di ciò è un’eccezione `NegativeArraySizeException`, generata quando Android tenta di allocare un array con dimensione negativa. L’eccezione non viene gestita correttamente nel percorso di elaborazione e provoca la terminazione del processo `com.android.phone`, responsabile delle funzioni di telefonia.
Il ricercatore ha dimostrato che un’intestazione WSP di cinque byte può generare il valore `-2147483648`, sufficiente a innescare il problema. Non è quindi necessario trasmettere un contenuto particolarmente voluminoso per provocare il malfunzionamento.
Un attacco invisibile che interrompe anche le chiamate di emergenza
Il messaggio viene trasmesso come SMS dati attraverso il canale WAP Push sulla porta 2948. A differenza di un normale SMS, non viene visualizzato nella casella dei messaggi e non produce una notifica riconoscibile dall’utente. Anche il numero del mittente non risulta normalmente visibile nella conversazione e quando il dispositivo riceve il messaggio, Android avvia automaticamente la procedura di elaborazione. Il crash del processo telefonico determina la perdita temporanea della connettività e interrompe le chiamate vocali attive, comprese quelle dirette ai servizi di emergenza.
Secondo le prove pubblicate dal ricercatore, ogni elaborazione del messaggio può provocare un’interruzione del servizio telefonico di circa uno o due secondi, durante i quali il componente viene riavviato. Il problema può tuttavia diventare molto più grave quando il messaggio viene elaborato ripetutamente.
La ripetizione dei messaggi può rendere inutilizzabile lo smartphone
Uno degli aspetti più significativi di SMS of Death riguarda la possibilità di trasformare un semplice crash in una condizione persistente di Denial of Service. Il messaggio malevolo può rimanere nella coda degli SMS in ingresso e venire nuovamente elaborato durante i successivi tentativi di consegna. Anche il meccanismo di ritrasmissione dell’operatore telefonico può contribuire a ripetere l’evento, provocando ulteriori arresti del servizio.
Il ricercatore riferisce di aver osservato interruzioni intermittenti anche per una settimana dopo la ricezione di un singolo messaggio. L’invio di circa venti messaggi appositamente costruiti può invece rendere il dispositivo inutilizzabile per un periodo prolungato. Nei casi più gravi, il processo telefonico può continuare a bloccarsi durante l’avvio del sistema, innescando una condizione assimilabile a un boot loop. Il ripristino può richiedere l’utilizzo di Android Debug Bridge (ADB) attraverso un computer, intervenendo direttamente sulla coda dei messaggi in attesa di elaborazione. Per un utente comune si tratta di una procedura tutt’altro che semplice.
Una minaccia alla disponibilità delle comunicazioni
SMS of Death dimostra come un attacco informatico non debba necessariamente puntare al furto di informazioni, all’esecuzione di codice o al controllo del dispositivo per produrre conseguenze rilevanti. In questo caso l’obiettivo è la disponibilità del servizio telefonico, una funzionalità fondamentale soprattutto quando occorre contattare i servizi di emergenza.La possibilità di interrompere le comunicazioni senza alcuna interazione dell’utente rende questa vulnerabilità particolarmente delicata. Per ridurre l’esposizione è importante verificare il livello della patch di sicurezza Android installata e applicare gli aggiornamenti disponibili, prestando particolare attenzione ai dispositivi che non ricevono più supporto dal produttore.
Le prove condotte da Mark Blaszczyk hanno evidenziato la riproducibilità del problema su diversi dispositivi, tra cui Google Pixel 9 e smartphone Samsung delle famiglie Galaxy e Galaxy A. Il codice vulnerabile risulta presente in versioni Android comprese tra Android 12 e Android 17. La disponibilità della correzione, tuttavia, non è uniforme per tutte le generazioni del sistema operativo. Secondo la documentazione pubblicata dal ricercatore, Google ha distribuito una correzione attraverso l’aggiornamento di sicurezza di ottobre 2026 per Android 14, 15, 16 e 17. I dispositivi più datati, come quelli basati su Android 12 e 13, potrebbero invece rimanere esposti se non ricevono aggiornamenti correttivi.
Note
[1] Il WAP Push (Wireless Application Protocol Push) è un particolare messaggio trasmesso attraverso la rete mobile, generalmente sotto forma di SMS binario, che contiene dati strutturati e viene elaborato automaticamente dallo smartphone senza richiedere l’intervento dell’utente. A differenza di un SMS tradizionale, può trasportare notifiche, collegamenti a risorse Internet e configurazioni per servizi mobili.