Surgiu um bug curioso que estoura com o Wi-Fi do iPhone depois deste se tentar ligar a um hotspot com um SSID específico. Quando é ativada a ligação o iPhone fica impossibilitado de se ligar a uma rede Wi-Fi.
O problema é que, mesmo depois de reiniciar o iPhone, o utilizador não conseguirá ligar o WiFi. Mas o bug não acontece em todos!
PUB
Este bug poderá ser explorado por pessoas mal intencionadas dando o nome ao hotspot para Wi-Fi gratuito o que irá criar problemas aos utilizadores com iPhone.
Código no nome do hotspot estoura o seu iPhone
A história é contada de forma simples. Esta semana, Carl Schou, especialista em engenharia reversa, deparou-se com um problema quando se ligou ao seu hotspot Wi-Fi pessoal chamado:
%p%s%s%s%s%n
Isto é, ele deu este nome à sua ligação WiFi (SSID) e tentou ligar a essa “internet Wi-Fi” o seu iPhone. Logo que se ligou o Wi-Fi do smartphone desligou-se, e sempre que tentava ativar novamente, este desligava-se rapidamente, mesmo que ele reiniciasse o dispositivo ou desse um nome diferente ao hotspot:
Depois de renomear o meu Wi-Fi pessoal com o SSID ‘%p%s%s%s%s%n’, o meu iPhone desativou permanentemente a sua funcionalidade WiFi. Nem o reiniciar, nem a alteração do SSID o corrige.
Tweeted Schou.
O engenheiro estava a usar um iPhone XS com a versão iOS 14.4.2 instalada.
O problema ainda não está resolvido
Segundo o que foi testado, a versão iOS 14.6 continua a mostrar que a funcionalidade Wi-Fi do iPhone é desativada após a ligação com a rede sem fio, batizada com este tal nome estranho.
Quando se coloca este nome na ligação Wi-Fi, a opção de ativar ou desativar o Wi-Fi no iPhone começa a funcionar de forma errática. Mas acaba por não deixar o sistema funcionar corretamente.
Nalguns iPhones nem era possível fazer a ligação a esse nome e noutros aparecia o comportamento descrito por Schou, onde a configuração de Wi-Fi do iPhones seria desativada e não se conseguia ligar novamente, conforme mostrado abaixo:
A única maneira de resolver o problema e restabelecer o acesso ao Wi-Fi do iPhone é restaurar as configurações de rede do iPhone.
Problema parece resolvido no iOS 14.7 beta e iOs 15 beta
Metemos mão na massa e testamos nós este bug. Configuramos no nosso router o SSID em causa e colocamos à prova vários iPhones. Um com iOS 14.6, um com iOS 14.7 beta 3 e iOS 15 beta.
No caso do iPhone 12 Pro Max com iOS 14.6, o problema foi tal e qual o explicado. Depois do iPhone se ligar ao SSID estranho, o Wi-Fi desligou e nada o fez voltar. Solução: repor definições de rede.
Usamos então um iPhone SE 2020 com a versão iOS 14.5 e nada aconteceu assim como com o iOS 14.7 beta 3 e o mesmo com iOS 15 beta.
A mensagem em todos estes últimos foi “Não foi possível aceder a %p%s%s%s%s%n“. Portanto, presumimos que há um bug, mas que não atinge todas as versões e nas mais recentes, ainda em versão beta, isto já não acontece.
Como repor as definições de rede
Visto que depois do iPhone cair neste loop sem permitir que o Wi-Fi funcione corretamente, a única solução é repor as definições de rede.
Assim, vamos a Definições > Geral > Repor e depois escolher a opção Repor as definições de rede. Depois o iPhone irá restaurar as definições de fábrica apenas para as ligações, não será feito qualquer restauro que leve a perder dados guardados no iPhone.
Depois de reposto, tudo fica direito e volta a ter acesso às opções Wi-Fi. Contudo, se alguma vez vir este SSID (nome de ligação a uma rede Wi-Fi) nunca se ligue.
Também acontece no Android?
Não, Segundo alguns testes este bug não parece afetar o sistema operativo da Google.
Provável vulnerabilidade de formatação de string
Outros investigadores de segurança que viram o tweet de Schou acreditam saber o problema.
Quando uma string com sinais “%” existe em nomes de pontos de acesso Wi-Fi, o iOS pode estar a interpretar de forma errada as letras após “%” como especificadores de formato de string, quando não o são.
Fonte: Pplware.