WebKit sotto attacco: un bug matematico può mandare in crash milioni di iPhone
Un nuovo rapporto descrive in dettaglio una vulnerabilità critica scoperta da Joseph Goydish, un ricercatore di sicurezza, nel motore WebKit di Apple. Questa falla di sicurezza, se sfruttata insieme ad altri exploit, potrebbe consentire agli aggressori di eseguire codice arbitrario sui più recenti dispositivi iOS.
Il difetto, identificato come un pericoloso bug di integer overflow in iOS 26.2, potrebbe anche permettere agli aggressori di bloccare i browser. La scoperta evidenzia la presenza di questo bug e il suo potenziale impatto sulla sicurezza dei dispositivi.
La vulnerabilità deriva da un classico errore software: un overflow di interi. Secondo il rapporto, il problema si verifica durante il calcolo dei limiti di memoria per le operazioni ArrayBuffer, TypedArray e WebAssembly.
La falla di sicurezza interessa il motore JavaScriptCore (JSC), elemento centrale di Safari e di tutti i browser di terze parti su iOS. Gli hacker potrebbero sfruttare tale vulnerabilità, che rappresenta una “primitiva deterministica”, per condurre attacchi più pericolosi, nonostante le misure di difesa integrate da Apple siano al momento efficaci.
“La vulnerabilità è dovuta a un overflow di interi durante il calcolo degli offset di memoria per le operazioni TypedArray e DataView”, spiega l’analisi.
La vulnerabilità è stata confermata su iOS 26.2 (Build 23C55) in esecuzione su un iPhone 14 Pro Max. Il rapporto suggerisce che l’impatto è probabilmente più ampio e potrebbe interessare:
- Tutte le versioni di iOS 26.x
- macOS Sequoia 15.x
- Tutti i browser iOS di terze parti (poiché devono utilizzare il motore WKWebView).
Goydish ha fornito una Proof of Concept (PoC) che dimostra la falla utilizzando solo poche righe di JavaScript. Creando un buffer DataView e impostando un valore Uint32 specifico, il codice forza il wrap-around a 32 bit, innescando il crash.
Per ora, gli utenti sono protetti da Gigacage, il meccanismo di partizionamento di sicurezza di WebKit . Quando l’overflow tenta di accedere alla memoria al di fuori della partizione consentita da 16 GB, Gigacage rileva la violazione e termina immediatamente il processo WebContent.
Quando il sistema moltiplica un indice per la dimensione di un elemento, il risultato può “aggirarsi attorno al limite dei 32 bit”. Questo errore matematico confonde il sistema, consentendo a un aggressore di richiedere un indirizzo di memoria che tecnicamente supera il controllo iniziale ma punta a una posizione ben al di fuori della zona sicura.
Sebbene ciò impedisca l’esecuzione immediata di codice dannoso, provoca un Denial of Service (DoS) persistente, che causa l’arresto anomalo immediato del browser o delle visualizzazioni web incorporate.
Tuttavia, il rapporto avverte che questa rete di sicurezza non è invincibile. “Se Gigacage venisse bypassato o il suo indirizzo di base venisse trapelato, questa vulnerabilità abilita la corruzione relativa della memoria”, consentendo agli aggressori di manipolare gli oggetti adiacenti al buffer in overflow.
Nel peggiore dei casi, ciò potrebbe portare all’esecuzione di codice remoto (RCE) tramite “Vtable Hijacking”, in cui gli aggressori danneggiano i puntatori di funzione virtuali per assumere il controllo del puntatore di istruzioni del dispositivo.
“Attualmente, Gigacage impedisce lo sfruttamento terminando il processo prima che si verifichi un danneggiamento della memoria”, conclude il rapporto, ma la presenza di un difetto logico così fondamentale serve da duro promemoria della fragile matematica alla base della moderna sicurezza web.
L'articolo WebKit sotto attacco: un bug matematico può mandare in crash milioni di iPhone proviene da Red Hot Cyber.