iPhone bloccato con una sola riga di codice: vulnerabilità adesso risolta

Scoperta una vulnerabilità critica in iOS che sfrutta API di sistema per mandare in blocco persistente gli iPhone. Il problema, risolto con iOS 18.3, dimostra come anche i sistemi più chiusi possano essere aggredibili attraverso componenti spesso trascurati.

Apr 28, 2025 - 11:27
 0
iPhone bloccato con una sola riga di codice: vulnerabilità adesso risolta

Nel mondo della sicurezza informatica, a volte le vulnerabilità più efficaci sono anche le più semplici. Un ricercatore indipendente, Guilherme Rambo, racconta di come ha individuato e sfruttato una falla di Apple iOS estremamente potente, basata su un meccanismo poco noto ma ancora ampiamente utilizzato: le Darwin Notifications.

Molti sviluppatori iOS conoscono bene NSNotificationCenter, utile per gestire eventi all’interno di un singolo processo e NSDistributedNotificationCenter, che consente comunicazioni tra processi su macOS. Più in profondità nel sistema operativo vi sono le cosiddette API (Application Programming Interfaces) pubbliche Darwin Notifications, ancora ampiamente utilizzate da diversi componenti di iOS e macOS.

Come mette in evidenza il ricercatore, non è richiesto alcun privilegio per inviare o ricevere notifiche. Inoltre, Apple non ha previsto alcun meccanismo di verifica dell’identità del mittente.

Perché gli Apple iPhone erano a rischi brick

Guilherme Rambo ha scoperto che qualsiasi processo in esecuzione su iOS può inviare Darwin Notifications. Così, ha creato un’applicazione di test chiamata EvilNotify che visualizza l’icona “liquido rilevato” nella barra di stato dell’iPhone, simula la connessione DisplayPort attivando Dynamic Island, blocca le gesture di sistema, forza la disconnessione dalla rete WiFi e provoca il collegamento su rete cellulare, blocca lo schermo, mostra il messaggio “trasferimento dati in corso” impedendo l’uso del dispositivo, simula la modalità “Dispositivo perso” offerta dal servizio Dov’è richiedendo il login tramite Apple ID.

La cosa più grave è che, sempre facendo leva sulle Darwin Notifications, si può forze l’iPhone ad esporre l’avviso “Ripristino in corso“, normalmente proposto durante il recupero di un backup o l’applicazione di un aggiornamento di sistema.

La singola riga di codice notify_post("com.apple.MobileSync.BackupAgent.RestoreStarted") era sufficiente per far credere a iOS che fosse in corso un ripristino da backup. Il sistema bloccava l’interfaccia utente, chiedendo all’utente di riavviare il suo dispositivo. Dato che il ripristino falliva (non essendo reale), il risultato era un attacco Denial of Service (DoS) continuo.

L’attacco DoS che sopravvive al riavvio dell’iPhone

Il ricercatore ha quindi sviluppato una seconda applicazione di prova, VeryEvilNotify, che includeva un’estensione widget. Si tratta di componenti software che possono essere eseguiti immediatamente dopo il boot, anche prima dello sblocco. Sono inoltre progettati per aggiornarsi periodicamente.

Appena “svegliata” dal sistema, l’estensione eseguiva la riga di codice citata in precedenza e poi andava deliberatamente in crash, forzando il sistema a riattivarla ripetutamente.

Risultato? L’iPhone entrava nella modalità “Ripristino in corso” subito dopo ogni avvio e non era possibile alcuna interazione manuale. Dopo il riavvio, il ciclo si ripeteva automaticamente.

All’atto pratico, il dispositivo mobile risultava soft-bricked, obbligando l’utente a un ripristino completo da DFU (Device Firmware Update). Inoltre, se l’app fosse inserita in un backup, il problema si sarebbe potuto manifestare anche dopo il recupero dei dati.

L’intervento risolutivo di Apple e il premio ricevuto dal ricercatore

La vulnerabilità (CVE-2025-24091) che, per motivi di sicurezza e in ottemperanza dell’accordo siglato con Apple, Guilherme Rambo descrive oggi è stata risolta dalla Mela con la distribuzione di iOS 18.3.

I tecnici della società guidata da Tim Cook hanno sanato il problema introducendo una serie di restrizioni che autorizzano solo i processi “benigni” a usare le API Darwin Notifications. Inoltre, Apple ha introdotto un sistema di permessi più solido per accedere alla possibilità di usare le notifiche più “delicate”.

In ogni caso, nessuna applicazione di terze parti non autorizzata può più accedere alla notifica che attiva la modalità “Ripristino in corso“.

A valle del suo lavoro, avendo segnalato in modo responsabile e privatamente l’esistenza della grave vulnerabilità, Guilherme Rambo ha ricevuto un premio in denaro pari a 17.500 dollari nell’ambito del programma Bug Bounty Apple.

Questa vulnerabilità dimostra come, anche in ecosistemi estremamente chiusi e controllati come iOS, elementi legacy apparentemente innocui possano rappresentare vettori di attacco devastanti.

Bastano un’API parzialmente dimenticata, un comportamento previsto ma mai aggiornato e un po’ di creatività per trasformare una semplice notifica in un Denial of Service persistente.

Credit immagine in apertura: iStock.com – dontree_m