A segurança do cadeado que aparece no navegador depende de números secretos gigantescos. Agora, imagine descobrir que um desses números era simplesmente 4.
Foi o que aconteceu com a eMudhra, uma autoridade certificadora. Oito chaves privadas de certificados intermediários da empresa eram tão fracas que podiam ser recuperadas em menos de um segundo, em um notebook comum.
Neste artigo você entende o que é uma autoridade certificadora, o que deu errado, quem está protegido e o que fazer para manter seus sistemas seguros.
O que é uma autoridade certificadora
Quando você acessa o site do seu banco, o navegador confere um certificado digital que prova que aquele site é mesmo do banco. Esse certificado é assinado por uma autoridade certificadora (CA), uma empresa em que o seu sistema confia.
Na prática, existe uma cadeia: uma CA raiz assina CAs intermediárias, e essas intermediárias assinam os certificados dos sites. Se alguém tem a chave privada de uma CA confiável, pode emitir certificados falsos para qualquer endereço.
É por isso que essas chaves precisam ser números aleatórios enormes, impossíveis de adivinhar.
O que aconteceu com a eMudhra
Segundo o pesquisador de segurança Scott Helme, no sábado, 17 de outubro, um pesquisador avisou Apple, Google, Microsoft, Mozilla e a própria eMudhra que as chaves privadas de oito certificados intermediários estavam comprometidas.
Eram seis CAs de certificados para sites (TLS) e duas de assinatura de código, todas criadas em abril de 2025. Todas também tinham assinatura cruzada da raiz AAA Certificate Services, da Sectigo, desde maio de 2025.
A falha era grave e simples. As chaves usam curvas elípticas P-384, que deveriam ser números aleatórios de 384 bits. Em vez disso, cada chave tinha 47 bytes de zeros e um único byte com valor. Uma delas era o número 4; outras eram 56 e 115.
| Item | Como deveria ser | Como era |
|---|---|---|
| Tamanho da chave | Número aleatório de 384 bits | Apenas 1 byte útil |
| Possibilidades | Cerca de 10 elevado a 115 | No máximo 255 |
| Tempo para quebrar | Impraticável | Menos de um segundo |
| Janela de exposição | – | Cerca de 17 meses |

O Chrome publicou no mesmo sábado uma atualização de bloqueio (CRLSet) para esses certificados, e o Firefox bloqueou poucas horas depois pelo OneCRL. Na terça, 20 de outubro, a Mozilla anunciou o caso e lançou uma atualização que remove a raiz da eMudhra.
O Chrome confirmou que a mudança sobre a raiz entra na versão 43 da sua lista de confiança (Chrome Root Store). A eMudhra explicou, no chamado público da Mozilla, que um erro no script usado na cerimônia de geração criou um segundo par de chaves fraco, e um erro humano levou ao uso das chaves erradas.
Helme destaca um ponto incômodo: ninguém precisou roubar nada. A chave estava, na prática, pública desde abril de 2025, e não há como saber se alguém a usou nesse período.
Quem está protegido e quem não está
Navegadores atualizados estão em boa situação. Chrome e Firefox bloqueiam os intermediários diretamente e exigem Certificate Transparency (registro público de certificados), assim como o Safari. Segundo o Chrome, nenhum certificado de site ligado a essas CAs apareceu nesses registros.
O risco maior está fora do navegador. Ferramentas como curl, Python, Node, Go, Java e git, com as configurações padrão, confiam em um pacote de certificados no disco e não checam revogação nem Certificate Transparency.
Helme testou isso em suas máquinas com um certificado falso para api.stripe.com. Com as configurações padrão, curl, Python e Node aceitaram a conexão em todas as máquinas Linux e macOS testadas.
- Instaladores via curl | sh: um certificado falso pode fazer você rodar código de um atacante.
- Pipelines de CI/CD: guardam chaves de nuvem e tokens e usam essas ferramentas por baixo.
- Chamadas entre servidores: pagamentos, webhooks e SDKs de nuvem carregam segredos nos cabeçalhos.
- Dispositivos IoT: roteadores, câmeras e TVs com firmware congelado podem confiar nesses certificados até julho de 2039.
- Assinatura de código no Windows: o Windows confia diretamente na raiz de assinatura de código da eMudhra.

O que fazer agora
A orientação de Helme se resume a atualizar tudo o que carrega um pacote de certificados:
Instale as atualizações pendentes no Windows, macOS e Linux, incluindo o pacote ca-certificates nos servidores.
Atualize certifi no Python, o Node e o Homebrew, que mantêm pacotes próprios de certificados.
Depois que as imagens base receberem a correção, gere novamente as imagens Docker usadas em produção e no CI.
Roteadores, impressoras e câmeras com firmware antigo são o ponto fraco. Procure atualizações do fabricante e isole os que não recebem mais suporte.
Curiosamente, Helme conta que um único comando para um agente de IA, o Claude, foi suficiente para recuperar as chaves privadas. Isso mostra que falhas desse tipo deixaram de exigir conhecimento especializado para serem exploradas.
Se você quer entender melhor como funcionam as curvas elípticas por trás dessas chaves, leia nosso artigo sobre como o Claude investigou a origem das curvas do ECDSA.
Perguntas frequentes
Com Chrome, Firefox ou Safari atualizados, o risco é baixo: os certificados foram bloqueados e os navegadores exigem Certificate Transparency.
Por que a chave fraca é tão perigosa?
Com a chave privada de uma CA confiável, alguém pode emitir certificados falsos para qualquer site e interceptar conexões de quem confia nessa CA.
Quanto tempo as chaves ficaram expostas?
As CAs foram criadas em abril de 2025 e o problema foi reportado em outubro de 2026, uma janela de cerca de 17 meses.
O que é Certificate Transparency?
É um sistema de registros públicos onde os certificados emitidos ficam visíveis. Ele ajuda a detectar emissões indevidas, mas não as impede sozinho.
Conclusão
O caso da eMudhra mostra que toda a segurança de uma cadeia de certificados pode depender de um detalhe na geração de uma chave. Navegadores atualizados estão protegidos, mas servidores, scripts e dispositivos antigos precisam de atenção.
Aproveite para revisar também o seu site: veja nosso alerta sobre a falha crítica no WordPress e por que atualizar agora.
