Un ricercatore specializzato in sicurezza informatica ha individuato una vulnerabilità nel WebKit, il “motore” di rendering sfruttato da Safari, un problema che può mandare in crash Safari e costringere al riavvio di iOS, il sistema operativo di iPad e iPhone.
La vulnerabilità può essere attivata caricando una pagina HTML che include fogli stile (CSS) creati ad hoc. Il codice di questi CSS non è particolarmente complesso e ha a che fare con un effetto CSS noto come “backdrop-filter” che consente di applicare effetti grafici come sfocatura o spostamento del colore nell’area dietro un elemento di un contenitore DIV.
La proprietà Backdrop-filter è relativamente nuova, richiede pesanti capacità di elaborazione e alcuni sviluppatori ipotizzano che l’effetto richieda uno sforzo immane alle librerie di elaborazione grafica di iOS, portando al crash di tutto il sistema operativo.
— Sabri (@pwnsdx) September 15, 2018
Sabri Haddouche, ingegnere informatico e ricercatore specializzato in sicurezza che ha contribuito a Wire, app cifrata di messaggistica istantanea, è una delle persone che ha scoperto la vulnerabilità e ha pubblicato su Twitter una dimostrazione pratica del codice. Il link manda in crash i dispositivi iOS (a questo indirizzo il codice sorgente che mostra come usare la vulnerabilità). Haddouche ha anche pubblicato un teet con un filmato che mostra il problema.
“L’attacco sfrutta una debolezza nelle proprietà CSS backdrop-filter del webkit” ha spiegato Haddouche a ZDNet indicando altri dettagli sul perché, a suo dire, si verifica il problema e spiegando che il problema riguarda anche macOS.
Il ricercatore fa sapere che Apple è stata avvisata prima della pubblicazione del tweet. Cupertino ha confermato di avere ricevuto i dettagli e fatto sapere di stare indagando. Haddouche ha spiegato a ZDNet di avere scoperto la vulnerabilità mentre cercava bug Denial of service (DoS) in vari browser. All’inizio del mese il ricercatore ha individuato un exploit che è in grado di mandare in crash Chrome e Chrome OS con una sola riga di JavaScript.