Código em CSS trava e reinicia o iPhone, o Mac e o Apple Watch

Seja você um novo ou antigo usuário dos produtos da Apple — principalmente o iPhone —, é provável que já tenha escutado sobre algum “bug de código”. Basicamente, esses erros fazem com que o dispositivo trave, e possivelmente reinicie, ao receber um código com caracteres específicos ou que explore uma falha no mecanismo de renderização do iOS.

Em fevereiro passado, comentamos um bug similar que afetou o app Mensagens tanto nos iPhones quanto nos Macs. Agora, o pesquisador em segurança online Sabri Haddouche encontrou uma nova maneira de travar e reiniciar o iPhone com apenas algumas linhas de código CSS1.

Como forçar qualquer dispositivo iOS a reiniciar com apenas CSS? 💣

Fonte: gist.github.com/pwnsdx/ce64de2…

SE VOCÊ QUISER TENTAR (NÃO ME RESPONSABILIZE SE CLICAR):
cdn.rawgit.com/pwnsdx/ce64de2…

O bug afeta qualquer dispositivo iOS que consiga interpretar filtros gráficos, um dos mecanismos do W3C2 para aplicação de filtros. No iPhone/iPad/iPod touch, essa funcionalidade foi introduzida pela primeira vez no iOS 7.

Essencialmente, quando o código é aberto através do Safari, ele provoca um erro de leitura que é aplicado a todos os elementos div na página. O constante erro na leitura acaba sobrecarregando o sistema de renderização do WebKit, utilizado pelo Safari, causando o popular kernel panic — que força a reinicialização do sistema para evitar danos ao hardware.

Haddouche compartilhou o link do GitHub para quem quiser visualizar o código-fonte do bug; são apenas algumas linhas de HTML3 e CSS. Se você desejar testar o bug (seja lá por qual motivo), você pode acessar este link pelo Safari — por sua conta e risco, é claro.

Foi confirmado que o bug afeta o Safari no iOS 11, na versão Golden Master (GM) do iOS 12 (o bug também influencia os Atalhos da Siri), no watchOS 4 e na GM do watchOS 5. No macOS 10.13.6, o código pode fazer com que o Safari apenas congele por alguns instantes.

Parece que o watchOS 5 também é suscetível.

Apesar de chato, a boa notícia é que esse ataque não pode ser usado para executar códigos maliciosos, de forma a por exemplo roubar dados de usuários. Não obstante, não há uma maneira fácil de impedir que alguém caia nele, já que apenas o toque em um link enviado por qualquer aplicativo, em uma mensagem ou num email HTML que renderiza o código poderá travar o dispositivo instantaneamente.

Haddouche afirmou ao TechCrunch que já entrou em contato com a Apple para informar sobre o bug, a qual disse estar investigando o problema. É provável que a Maçã lance uma nova atualização de software assim que divulgar a versão final e pública do iOS 12, que será lançada hoje à tarde.

Taggeado:

Posts relacionados

Comentários