📸 Créditos da imagem: reprodução / Tecmundo
A Mozilla agiu rapidamente para corrigir uma grave vulnerabilidade, identificada como CVE-2026-6770, que permitia o rastreamento de usuários do Firefox e do Tor Browser, mesmo quando navegavam em sessões privadas. A falha, que comprometia a premissa de anonimato, foi endereçada com o lançamento do Firefox 150, do ESR 140.10.0 e de atualizações para o Thunderbird, todas disponibilizadas em 21 de abril de 2026. Em resposta, o Tor Project também lançou o Tor Browser 15.0.10 para mitigar o risco.
A Falha em Detalhes: Como o Rastreamento Ocorria
A raiz do problema residia na implementação da API indexedDB. databases() no Firefox. Esta API é uma ferramenta padrão utilizada por aplicações web para armazenar dados localmente no lado do cliente, como cache, estado de sessão e suporte offline, e retorna metadados sobre os bancos de dados armazenados pelo navegador.
No modo de navegação privada, o Firefox substituía os nomes desses bancos de dados por identificadores universais únicos (UUIDs), gerados internamente. O ponto crítico era que esses UUIDs eram armazenados em uma tabela hash global, que era compartilhada entre todas as origens e permanecia ativa durante toda a execução do processo do navegador.
Impressão Digital Inesperada e Rastreamento Multi-Domínio
A vulnerabilidade se manifestava porque os resultados da API eram devolvidos na ordem de iteração interna dessa tabela hash, sem qualquer ordenação neutra aplicada previamente. Essa sequência de retorno se tornava, na prática, uma impressão digital determinística e estável do processo do Firefox, única para cada instância do navegador.
Um site malicioso podia criar um conjunto de bancos de dados no IndexedDB e, ao observar a ordem em que a API os devolvia, identificar a mesma instância do navegador em visitas subsequentes. Como a tabela hash era compartilhada entre diferentes origens, dois sites distintos podiam obter o mesmo identificador de forma independente. Isso permitia que eles vinculassem a atividade do usuário entre domínios completamente diferentes, sem a necessidade de cookies, localStorage ou qualquer outro mecanismo explícito de rastreamento.
A natureza do identificador, derivado diretamente do comportamento interno do navegador, tornava a técnica extremamente difícil de detectar e bloquear por métodos convencionais. A capacidade de rastreamento não era trivial: com apenas 16 bancos de dados controlados, o espaço de permutações possíveis gerava aproximadamente 44 bits de entropia. Entropia, neste contexto, mede a quantidade de informação carregada pelo sinal, e 44 bits são mais do que suficientes para identificar instâncias individuais do navegador com alta precisão.
Persistência Preocupante: Impacto no Modo Privado e Tor Browser
A persistência do identificador era um dos aspectos mais alarmantes da falha. No Firefox, o identificador permanecia ativo mesmo após o fechamento de todas as janelas privadas, desde que o processo principal do navegador continuasse em execução. Isso significava que uma visita posterior em uma janela privada, que deveria ser nova e isolada, poderia ser vinculada a uma sessão anterior.
A situação era ainda mais grave para os usuários do Tor Browser. O recurso “New Identity” (Nova Identidade) foi projetado para reinicializar completamente a sessão, apagando cookies e histórico, além de estabelecer novos circuitos Tor. No entanto, como os UUIDs persistiam durante toda a execução do processo, esse recurso se tornava ineficaz contra a técnica de rastreamento. Sites conseguiam vincular sessões que deveriam ser completamente isoladas, contrariando uma garantia central de privacidade e anonimato oferecida pelo Tor Browser.
É importante notar que a vulnerabilidade não exigia qualquer interação do usuário e não dependia de falhas de configuração. O comportamento era inerente à implementação do IndexedDB no Gecko, o motor de renderização que alimenta tanto o Firefox quanto o Tor Browser, o que significa que todos os navegadores baseados no Gecko eram potencialmente afetados.
A Solução: Ordem Canônica Restaura a Privacidade
A correção implementada pela Mozilla é direta e eficaz. Consistiu em ordenar os resultados da API indexedDB. databases() em ordem canônica, como a ordenação lexicográfica, antes de devolvê-los à página. Essa abordagem preserva a utilidade da API para os desenvolvedores, ao mesmo tempo em que elimina completamente a entropia derivada da estrutura interna de armazenamento. Embora embaralhar a ordem a cada chamada fosse outra opção, a ordenação é mais simples e previsível para quem desenvolve aplicações web.
Este caso serve como um alerta crucial para um padrão menos óbvio de vulnerabilidades de privacidade. Não é necessário expor dados diretamente identificáveis para criar um vetor de rastreamento. Às vezes, basta que um detalhe de implementação interna seja determinístico e, inadvertidamente, compartilhado entre contextos que deveriam ser estritamente isolados para comprometer a privacidade do usuário.
📰 Leia a notícia completa em: Tecmundo »