O Google está corrigindo uma questão de privacidade de longa data que, por anos, permitiu que sites determinassem o histórico de navegação dos usuários através dos links visitados anteriormente.
O problema surge ao permitir que sites estilizem links como ':visited', ou seja, mostrando-os em outra cor em vez do azul padrão se um usuário já tiver clicado neles.
O sistema exibe essa mudança de cor independentemente do site em que estavam quando clicaram no link, permitindo que outros sites potencialmente usem scripts criativos que vazem o histórico de navegação do usuário.
A questão não é apenas uma preocupação teórica de privacidade para os usuários, mas também introduz uma série de vulnerabilidades de segurança reais que permitem rastreamento, perfilamento e phishing.
Pesquisadores demonstraram várias classes de ataques no passado ligadas a essa lacuna de privacidade, incluindo ataques de tempo, pixel, interação do usuário e nível de processo.
O lançamento vindouro do Google Chrome, versão 136, finalmente abordará o problema de 20 anos implementando uma partição tripla das chaves de links "visitados".
Em vez de armazenar visitas a links de forma global, o Chrome agora particiona cada link visitado usando três chaves, a saber, URL do link (alvo do link), site de nível superior (domínio da barra de endereços) e origem do quadro (origem do quadro onde o link é renderizado).
Isso garante que um link só aparecerá como :visited no mesmo site e na mesma origem do quadro onde o usuário clicou anteriormente, eliminando vazamentos de histórico entre sites.
Para preservar a usabilidade, o Google adicionou uma exceção de "self-links", então links visitados de um site ainda serão marcados como visitados nesse site, mesmo que o usuário tenha clicado neles de um site diferente.
Um site já sabe quais páginas o usuário visitou, então essa exceção não introduce um vazamento de histórico indesejado.
O Google afirma que descontinuar completamente o seletor :visited eliminaria sinais UX valiosos, então isso foi descartado dos objetivos da proposta.
Outra solução rejeitada foi usar um modelo baseado em permissões, pois isso seria fácil de contornar ou até mesmo abusar por sites manipuladores.
A nova isolação de :visited foi introduzida como um recurso experimental na versão 132 do Chrome e espera-se que seja ativada por padrão no Chrome 136 (próxima).
Do Chrome 132 ao 135 (atual), os usuários podem habilitar o recurso digitando chrome://flags/#partition-visited-link-database-with-self-links na barra de endereços e configurando a opção para 'ativado'.
O recurso ainda não é estável, então pode não funcionar conforme esperado em todas as situações.
Nos outros principais navegadores, o risco dos estilos :visited permanece parcialmente não endereçado.
O Firefox limita quais estilos são aplicados ao :visited e bloqueia o JavaScript de lê-los, mas não há partição para isolá-los de vetores de ataques sofisticados.
O Safari também aplica restrições e usa proteções de privacidade agressivas como a Prevenção de Rastreamento Inteligente, mitigando um pouco os vazamentos, mas sem uma partição para bloquear todos os ataques.
Publicidade
Tenha acesso aos melhores hackers éticos do mercado através de um serviço personalizado, especializado e adaptado para o seu negócio. Qualidade, confiança e especialidade em segurança ofensiva de quem já protegeu centenas de empresas. Saiba mais...