Um investigador de segurança descobriu uma vulnerabilidade no mecanismo de renderização do WebKit usado pelo Safari que bloqueia e reinicia o sistema operativo iOS usado por iPhones e iPads.
A vulnerabilidade pode ser explorada ao carregar uma página HTML que usa código CSS para devido propósito. O código CSS não é muito complexo, e tenta aplicar um efeito CSS conhecido como ” backdrop-filter” a uma série de segmentos de página aninhados (DIVs).
O Backdrop-filter é uma propriedade relativamente nova do CSS e funciona por desfoque ou mudança de cor para a área atrás de um elemento. Essa é uma tarefa pesada de processamento, e alguns engenheiros de software e developers especularam que a renderização desse efeito prejudica a biblioteca de processamento de gráficos do iOS, levando a uma queda completa do sistema operativo móvel.
Sabri Haddouche, engenheiro de software e investigador de segurança da app Wire, foi quem descobriu a vulnerabilidade e publicou o PoC no Twitter.
How to force restart any iOS device with just CSS? 💣
Source: https://t.co/Ib6dBDUOhn
IF YOU WANT TO TRY (DON’T BLAME ME IF YOU CLICK) : https://t.co/4Ql8uDYvY3
— Sabri (@pwnsdx) September 15, 2018
Este link irá bloquear seu dispositivo iOS, enquanto este link mostra o código-fonte por trás da vulnerabilidade. Haddouche também twittou um vídeo da vulnerabilidade que bloqueava o seu smartphone.
— Sabri (@pwnsdx) September 15, 2018
O ataque usa uma fraqueza na propriedade CSS -webkit-backdrop-filter, que usa a aceleração 3D para processar os elementos.
“By using nested divs with that property, we can quickly consume all graphic resources and freeze or kernel panic the OS.”
Haddouche disse que a vulnerabilidade também afeta os sistemas macOS e não apenas o iOS.
“With the current attack (CSS/HTML only), it will just freeze Safari for a minute then slow it down,” the researcher said. “You will be able to close the tab afterward.”
“To make it work on macOS, it requires a modified version containing Javascript,” he added. “The reason why I did not publish it is that it seems that Safari persists after a forced reboot and the browser is launched again, therefore bricking the user’s session as the malicious page is executed once again.”
O investigador disse que ele já notificou a Apple sobre o problema antes de publicar o código no Twitter.
“I contacted them using their security product email,” Haddouche said. “They confirmed they received the issue and are investigating it.”
Haddouche disse que descobriu a vulnerabilidade enquanto procurava bugs de negação de serviço (DoS) em vários navegadores de Internet. No início do mês, Haddouche também publicou outra exploração que bloqueava o Chrome e o Chrome OS com uma linha de JavaScript.
How to entirely freeze ChromeOS / Chrome in one line of JS? 💣
<script>for(let i=0;i<1/0;i++)document.location.href=”#”,window.history.back(),window.history.forward();</script>
IF YOU WANT TO TRY (DON’T BLAME ME IF YOU CLICK) : https://t.co/UhoUFWej4p
— Sabri (@pwnsdx) September 9, 2018
Pedro Tavares is a professional in the field of information security working as an Ethical Hacker/Pentester, Malware Researcher and also a Security Evangelist. He is also a founding member at CSIRT.UBI and Editor-in-Chief of the security computer blog seguranca-informatica.pt.
In recent years he has invested in the field of information security, exploring and analyzing a wide range of topics, such as pentesting (Kali Linux), malware, exploitation, hacking, IoT and security in Active Directory networks. He is also Freelance Writer (Infosec. Resources Institute and Cyber Defense Magazine) and developer of the 0xSI_f33d – a feed that compiles phishing and malware campaigns targeting Portuguese citizens.
Read more here.