Vulnerabilidade no IndexedDB expunha identificador estável por sessão e comprometia o isolamento do Tor Browser mesmo após o uso do recurso New Identity.
Uma falha conhecida como CVE-2026-6770 possibilitava que sites rastreassem usuários do Firefox e do Tor Browser, mesmo durante sessões de navegação privada. A Mozilla lançou correções para o problema nas versões Firefox 150, ESR 140.10.0 e também em atualizações do Thunderbird, todas disponíveis a partir de 21 de abril de 2026. O Tor Project também lançou a versão 15.0.10 do Tor Browser para mitigar a questão.
A vulnerabilidade estava relacionada à maneira como o Firefox implementava a API indexedDB.databases(), que fornece metadados sobre bancos de dados armazenados localmente. O IndexedDB é uma API padrão utilizada por aplicações web para gerenciar dados do lado do cliente, como cache e suporte offline.
No modo de navegação privada, o Firefox gerava nomes de bancos de dados utilizando identificadores únicos (UUID) criados internamente. Esses UUIDs eram mantidos em uma tabela hash global, que era compartilhada entre todas as origens e se mantinha ativa durante o funcionamento do processo do navegador.
A API retornava resultados de acordo com a ordem interna dessa tabela, sem uma ordenação neutra aplicada previamente. Isso fazia com que a sequência de retorno se tornasse uma impressão digital determinística e estável do processo do Firefox.
Após ataque à NPM, criminosos distribuem versão maliciosa do Bitwarden para roubar dados e credenciais
Sites conseguiam vincular atividades entre origens sem uso de cookies
Um site poderia criar diversos bancos de dados no IndexedDB e monitorar a ordem retornada pela API. Essa sequência era suficiente para identificar a mesma instância do navegador em visitas subsequentes.
Como a tabela hash era compartilhada entre diferentes origens, dois sites distintos poderiam identificar o mesmo usuário de forma independente. Isso permitia que eles vinculassem a atividade do usuário entre domínios sem precisar de cookies, localStorage ou qualquer outro método explícito de rastreamento.
O identificador era derivado do comportamento interno do navegador. Isso torna a técnica difícil de detectar e bloquear com métodos tradicionais. A capacidade de rastreamento também não era trivial, já que 16 bancos de dados controlados poderiam proporcionar aproximadamente 44 bits de entropia.
Entropia, neste contexto, se refere à quantidade de informação carregada pelo sinal. Esse nível é suficiente para identificar instâncias individuais do navegador com alta precisão.
Vírus criado pelos Estados Unidos é descoberto após 20 anos de sabotagem
Identificador persistia mesmo com janelas privadas fechadas
No Firefox, esse identificador continuava ativo mesmo após o fechamento de todas as janelas privadas, contanto que o processo do navegador estivesse em execução. Isso significava que uma nova visita em uma janela privada poderia ser vinculada a uma sessão anterior.
No Tor Browser, a situação era ainda mais crítica. O recurso “New Identity” foi desenvolvido para reiniciar completamente a sessão, eliminando cookies e histórico, além de estabelecer novos circuitos Tor.
Como os UUIDs persistiam enquanto o processo estava ativo, esse recurso tornava-se ineficaz contra essa técnica. Sites podiam associar sessões que deveriam ser completamente isoladas, desrespeitando uma das garantias centrais do Tor Browser.
Essa vulnerabilidade operava sem necessidade de interação do usuário e não dependia de falhas na configuração. O comportamento era um reflexo da implementação do IndexedDB no Gecko, o motor por trás do Firefox e do Tor Browser. Isso implica que todos os navegadores que utilizam Gecko eram potencialmente afetados.
Udemy sofre vazamento e expõe 1,4 milhão de usuários
Correção elimina a entropia sem comprometer a API
A solução adotada foi simples: ordenar os resultados de forma canônica antes de retornar à página. Essa abordagem preserva a funcionalidade da API para desenvolvedores e evita a entropia derivada da estrutura interna de armazenamento. Uma alternativa seria embaralhar a ordem a cada chamada, mas a ordenação é considerada mais simples e previsível para desenvolvedores de aplicações web.
Este caso enfatiza um padrão menos reconhecido de vulnerabilidades relacionadas à privacidade. Não é necessário expor dados diretamente identificáveis para estabelecer um vetor de rastreamento. Às vezes, apenas um detalhe de implementação interna que seja determinístico e compartilhado entre contextos isolados é suficiente.
Acompanhe a TecMania nas redes sociais. Para mais notícias sobre segurança e tecnologia, inscreva-se em nossa newsletter e canal do YouTube.