Uma brecha descoberta pelo pesquisador Thor Larholm gerou discussão entre programadores da Microsoft e da Mozilla. Larholm afirmava ter encontrado uma brecha no Internet Explorer que permitia que um link malicioso executasse o Firefox de tal forma que um invasor poderia comprometer o sistema. A Microsoft afirmou que o problema era do Firefox e não do Internet Explorer. Mas outro pesquisador revelou que o Firefox possui o mesmo “problema” que o Internet Explorer, e a Mozilla confirmou esta informação na segunda-feira (23/06).
Protocol Handlers
Protocol Handlers são registros do Windows que indicam os programas que lidam com cada “protocolo”, tais como ftp: e http:. Eles permitem que aplicativos sejam lançados quando um certo tipo de link é ativado e, como são registrados no próprio sistema, qualquer programa sabe qual o aplicativo que deve ser chamado para lidar com cada tipo de serviço (protocolo).
Exemplos comuns de programas que fazem uso de protocol handlers incluem leitores de feeds RSS (para ler links feed:), clientes de e-mail (para mailto:), serviços multimídia (mms://) e mensagem instantânea (como o AIM, que lê o protocolo aim:).
Larholm revelou informações sobre a falha no dia 10 de julho. O problema, de acordo com ele, estaria no fato de que o Internet Explorer não codifica as aspas em uma URL que é passada para outro programa configurado como Protocol Handler. Isto permite que um link malicioso, ao ser clicado, adicione parâmetros perigosos ao programa que será executado. Larholm demonstra o problema usando o protocolo “firefoxURL://”, que pertence ao Firefox.
A Microsoft respondeu dizendo que o problema é do Firefox e não do Internet Explorer. A Mozilla, por sua vez, disse que é um problema no Internet Explorer, já que este não estaria codificando corretamente as URLs passadas aos programas. Mesmo assim, a Mozilla começou a trabalhar em uma correção para o Firefox.
O Firefox 2.0.0.5 foi lançado para corrigir a brecha. No boletim de segurança. a Mozilla dizia que a atualização “não corrigia a falha crítica do Internet Explorer” e que o uso do Firefox era recomendado para que usuários navegassem na web com segurança.
No dia 20, o pesquisador de segurança especialista em Windows Jesper Johansson publicou um post em seu blog demonstrando que o Firefox possui a mesma falha “crítica” que a Mozilla dizia somente existir no Internet Explorer.
A Fundação Mozilla confirmou as descobertas de Johansson, admitindo que o Firefox sofre do mesmo problema que ela havia criticado a Microsoft por não corrigir. Johansson, no entanto, não acredita que isto é um problema. Ele acha que os navegadores não devem codificar as aspas e pensa que a melhor maneira é deixar que os próprios protocol handlers gerenciem os comandos e URLs que receberem.
Problema é conhecido desde junho
Apesar de Larholm ter tornado público o erro no dia 10 de julho, um boletim da iDefense, publicado no dia 19, mostra que a Mozilla e a Microsoft foram avisadas do problema no dia 13 de junho. Greg MacManus teria descoberto a falha de forma independente para a iDefense.
Apenas depois de um mês da notificação da iDefense, no dia 17 deste mês, a Microsoft atualizou a página de documentação de protocol handlers, enfatizando a necessidade de cuidados de segurança.
Em uma nota no blog oficial do Internet Explorer, o Gerente de Produto Markellos Diorinos diz que é muito difícil proteger usuários de tecnologias de extensão — como é o caso dos handlers –, pois o número de aplicativos e protocolos “não tem limite”.
Diorinos explicou que o Internet Explorer, no Modo Protegido (Win2003/Vista), dá uma proteção adicional ao exibir um alerta aos usuários dizendo que um aplicativo externo será lançado (o que o Firefox também faz). De acordo com ele, é possível compreender que, no entendimento da Microsoft, mesmo uma alteração na codificação das aspas pode não ser suficiente para evitar que dados maliciosos sejam enviados a aplicativos externos.
A Mozilla, por outro lado, está investigando soluções para o problema, aparentemente insistindo na posição de que o navegador web deve enviar os endereços já codificados aos aplicativos externos.
Padronização pode ser a solução
Uma solução para este caso, como sugere o site heise Security, seria um diálogo entre a Microsoft e a Mozilla, que atualmente desenvolvem os navegadores mais comuns do mercado, para decidir qual seria a melhor saída: filtrar as aspas e seguir as normas que regem os formatos de URL, ou continuar com o comportamento atual, que a Microsoft diz estar “documentado”.
Na semana passada, um pesquisador de segurança demonstrou falhas semelhantes no Trillian e outros programas que se registram como responsáveis por protocolos podem ter brechas semelhantes. Se os navegadores não admitirem uma única maneira para efetuar o processamento de links que referenciam aplicativos externos, novos problemas de segurança, ou incompatibilidades, podem ocorrer.
Com esta discordância, quem perde são os usuários.