Cibersegurança

Chave de certificado da eMudhra era o número 4 e permitia falsificar qualquer site

Adrian Kessler
Adicione-nos no Google

A chave secreta por trás de um dos certificados que atestam a identidade de um site acabou sendo o número quatro. Não um número aleatório longo que por acaso começa com quatro: apenas quatro. Outras sete chaves da mesma autoridade certificadora indiana, a eMudhra, eram quase tão pequenas. Quem tivesse acesso a elas poderia emitir um certificado para qualquer site — de um banco a um serviço de e-mail — e fazê-lo ser aceito como legítimo por qualquer software que confiasse na eMudhra.

São esses certificados que o cadeado no navegador verifica. Com um certificado falsificado, um invasor posicionado entre você e a internet — em uma rede Wi-Fi de cafeteria, em um roteador invadido ou em uma rede nacional hostil — pode se passar pelo site verdadeiro e ler ou alterar o que você envia. Chrome, Firefox, Safari e as plataformas da Microsoft já deixaram de confiar nos oito certificados. Muitos outros programas instalados nos seus dispositivos ainda não.

Uma chave normal desse tipo é um número aleatório com cerca de 384 bits, o que deixa aproximadamente 10 elevado a 115 possibilidades. As chaves da eMudhra tinham entre 3 e 8 bits: 4, 56, 66, 115, 155, 156, 230 e 237, segundo a lista publicada pelo Ars Technica. O pesquisador de segurança Scott Helme escreveu que recuperou as oito a partir dos certificados públicos em seu laptop, «e levou menos de um segundo». Depois, acrescentou que o Claude, da Anthropic, fez o mesmo com um único comando.

Ninguém precisou roubar nada. Em seu relato à Mozilla, divulgado pelo BleepingComputer, a eMudhra atribuiu o problema a um bug no script usado durante o processo de geração das chaves: o script criou um segundo conjunto de chaves, fracas, e os funcionários acabaram escolhendo esse conjunto por engano, porque os rótulos eram parecidos. A empresa, que afirma ter emitido mais de 60 milhões de certificados digitais, informou à Mozilla que a maioria dos certificados intermediários afetados nunca entrou em operação e que não encontrou indícios de que eles tenham assinado certificados para usuários finais. A eMudhra revogou os oito certificados e interrompeu as emissões vinculadas à raiz afetada.

Os navegadores são a parte fácil. Chrome, Firefox e Safari distribuem silenciosamente listas de revogação aos usuários e também exigem que todos os certificados apareçam nos registros públicos de Certificate Transparency. Como nenhum certificado de site encadeado a essas chaves apareceu nesses registros, os navegadores atualizados nunca ficaram expostos por padrão. A brecha está em todo o resto. Ferramentas de linha de comando como curl, linguagens como Python, Node e Go, clientes de VPN, contêineres Docker e dispositivos de casa inteligente mantêm suas próprias listas de autoridades confiáveis, raramente verificam revogações e ignoram os registros de transparência. Helme criou um certificado falso para a API de pagamentos da Stripe e descobriu que curl, Python e Node o aceitaram em todas as máquinas com Linux e macOS que testou.

«Isso vai dar um trabalho enorme de limpeza, maior do que o Heartbleed», disse ao Ars Technica Filippo Valsorda, mantenedor do código de criptografia da linguagem Go, lembrando a falha do OpenSSL que levou anos para ser completamente corrigida. Ele prevê «uma cauda muito, muito longa» de dispositivos de Internet das Coisas, contêineres Docker, máquinas Linux esquecidas e ferramentas sem manutenção que trazem sua própria cópia das raízes confiáveis. Para explorar as chaves, ainda é preciso que o invasor esteja no caminho da rede, o que torna o ataque possível para governos, para quem comprometer uma rede corporativa ou para quem administra um ponto de acesso público. Signal, WhatsApp e WireGuard, que não dependem desses certificados para criptografar as comunicações, não foram afetados, observa o Ars.

As chaves podiam ser recuperadas desde o dia em que os certificados foram criados, em abril de 2025 — um período de cerca de 17 meses —, e não há como saber se alguém as usou contra programas que ignoram a verificação de transparência. Em maio de 2025, todos os certificados também foram assinados em conjunto pela raiz AAA Certificate Services, da Sectigo, o que ampliou o conjunto de sistemas que confiavam neles.

Para a maioria das pessoas, a solução é instalar as atualizações. Um pesquisador comunicou o problema às empresas responsáveis pelos navegadores em 17 de outubro. Naquele mesmo dia, a Mozilla bloqueou os certificados no Firefox em menos de três horas. Em 20 de outubro, lançou o Firefox 158.0.1, novas versões ESR e o NSS 3.131.1, que remove a raiz da eMudhra. A Apple adicionou proteção em 19 de outubro, e a Microsoft, em 20 de outubro, segundo o site do incidente mantido pelo engenheiro da Mozilla Dennis Jackson. Ainda assim, quando a reportagem foi publicada, o Ars constatou que o Edge no Windows 10 continuava se conectando aos servidores de teste. Go 1.27.3 e 1.26.10, pip 26.2.2, uv 0.13.4 e certifi 2026.10.19 já estão disponíveis; a Cloudflare atualizou seus aplicativos WARP e 1.1.1.1, e as distribuições Linux ainda estão disponibilizando novos pacotes de ca-certificates. O curl integrado ao macOS continua confiando nas chaves até que o arquivo de certificados seja editado manualmente.

O Chrome confirmou que a raiz da eMudhra será removida do Chrome Root Store na versão 43. Até que todos os dispositivos recebam a atualização, oito bits separam uma parcela enorme dos programas usados no dia a dia de uma falsificação convincente de qualquer site.

Tags: , , , , ,

Adicione-nos no Google

Discussão

Há 0 comentários.