Segurança digital

Go lança atualização de emergência e bloqueia oito chaves de autoridades certificadoras

As versões Go 1.27.3 e Go 1.26.10 passam a rejeitar qualquer cadeia de certificados que passe por uma de oito chaves intermediárias de autoridades certificadoras. A equipe do Go não identificou a autoridade e diz que o bloqueio se deve a preocupações específicas de segurança.


Swati Khandelwal Terça - 20 de Outubro de 2026 às 11:55
The Hacker News

As versões Go 1.27.3 e Go 1.26.10, lançadas em 20 de outubro, fazem com que o verificador de certificados do Go rejeite qualquer cadeia de certificados que passe por uma de oito chaves intermediárias de autoridades certificadoras (CAs, na sigla em inglês para certificate authority).

Programas compilados com a nova versão vão recusar conexões com sites e serviços cujos certificados foram emitidos sob essas chaves. A equipe do Go afirma que as chaves pertencem a uma autoridade certificadora que não foi identificada e que está bloqueando-as por causa de "preocupações específicas de segurança relacionadas ao funcionamento dela".

A correção foi tratada na trilha URGENT, reservada aos problemas mais graves, e a equipe recomenda atualizar imediatamente.

Dois dias antes, em 17 de outubro, a Mozilla adicionou seis certificados intermediários emitidos pela emSign Root TLS CA - G3, da eMudhra, à OneCRL (lista de bloqueio de certificados usada pelo Firefox). O bug da Mozilla que originou essas entradas está fechado ao público, e nem a Mozilla nem o Go informaram o que motivou a ação. Não há confirmação sobre se Chrome, Apple ou Microsoft tomaram medidas semelhantes.

A mudança do Go lista apenas os hashes SHA-256 (resumos criptográficos que identificam cada chave) das oito chaves. Um comentarista da issue do Go associou as oito chaves a intermediários da eMudhra, consultando esses hashes em registros de certificados.

Segundo essa correspondência, seis são intermediários TLS (Transport Layer Security, protocolo de segurança para conexões na internet) emitidos sob a mesma emSign Root TLS CA - G3 citada nas entradas da Mozilla, e dois são intermediários de assinatura de código (code signing) sob a emSign Root CS CA - G3:

  • TLS, com validação de domínio (DV, do inglês domain validated): EM DV TLS CA - G3B (eMudhra BV, Países Baixos) e EM DV TLS CA - G3C (eMudhra Inc, EUA)
  • TLS, com validação de organização (OV, do inglês organization validated): EM OV TLS CA - G3B e EM OV TLS CA - G3C
  • TLS, com validação estendida (EV, do inglês extended validation): EM EV TLS CA - G3B e EM EV TLS CA - G3C
  • Assinatura de código: EM OV CS CA - G3B e EM OV CS CA - G3C

O The Hacker News não verificou de forma independente os hashes contra os certificados. As seis entradas da Mozilla têm a mesma raiz emissora, mas os registros da Mozilla não identificam os seis certificados.

O filtro é executado sempre que um programa em Go verifica uma cadeia de certificados. Ele calcula o hash da chave pública de cada certificado, e não do certificado em si. Por isso, uma cópia com validação cruzada de uma das oito chaves, ou seja, a mesma chave assinada por outra raiz, também é bloqueada.

O filtro é aplicado no verificador próprio do Go e nos caminhos de código do macOS e do Windows, que repassam a verificação ao sistema operacional. Uma cadeia rejeitada retorna o erro "x509: no valid chains built".

A mudança não traz nenhuma configuração para desativar o filtro. Pela estrutura do código, ele também vale quando o programa fornece seu próprio conjunto de raízes confiáveis. Assim, uma implantação privada que confie intencionalmente em uma das oito chaves também vai falhar. A equipe do Go não disse se isso é intencional.

O verificador do Go "não faz nenhuma verificação de revogação", como alerta sua documentação. Ele também não lê as listas de bloqueio usadas pelos navegadores, como as CRLSets (listas de revogação do Chrome), que o Chrome usou neste mês contra certificados fraudulentos do Google.

Bloquear uma chave, portanto, significa distribuí-la em uma nova versão, e os programas mantêm o comportamento antigo até serem recompilados. Projetos como o indigo, do Bluesky, foram recompilados com as novas versões em 20 de outubro.

O que aconteceu na autoridade certificadora não é público. O anúncio do Go traz apenas uma frase sobre preocupações de segurança, e a versão foi lançada sem o aviso prévio que o Go enviou antes das atualizações de segurança de 8 de outubro.

A política de segurança do Go define os problemas da trilha URGENT como "uma ameaça à integridade do ecossistema Go" ou falhas exploradas ativamente com danos graves, e afirma que não há exemplos recentes. O Go não disse qual dessas situações se aplica.

Na issue, um usuário pediu que o patch enviado explicasse "a quem elas correspondem e o que são". Até 20 de outubro, a equipe do Go não havia respondido.

A eMudhra é uma autoridade certificadora indiana que vende certificados sob a marca emSign. Suas raízes emSign Root CA - G1 e emSign ECC Root CA - G3 estão nos programas de raízes do Chrome, da Apple e da Mozilla. No início deste ano, a empresa informou à Mozilla que sua nova raiz TLS é validada por certificação cruzada (cross-sign) da emSign Root CA - G1, mecanismo que permite que certificados sob a raiz mais nova cheguem a uma raiz confiável.

Em setembro, uma discussão pública de seis semanas sobre o pedido da eMudhra para incluir dez novas raízes nos programas de raízes de navegadores e sistemas operacionais, incluindo a emSign Root TLS CA - G3, terminou sem objeções. A discussão foi aberta no fórum da CCADB.

Certificados registrados nos domínios da própria eMudhra, incluindo emsign.com e emudhra.com, passam por outros intermediários da empresa, segundo registros de transparência de certificados que o The Hacker News consultou em 20 de outubro. O repositório da empresa não tinha nenhum aviso sobre esses intermediários até aquele dia, e o The Hacker News não encontrou nenhuma declaração pública da eMudhra.

As versões Go 1.25 e anteriores estão fora de suporte e não recebem correções, então a única saída é uma versão com suporte, disponível na página de downloads. Não existe solução temporária em nenhuma fonte, e o filtro não pode ser desativado.

Sites e serviços cujos certificados passem pelas oito chaves precisarão de certificados emitidos por outro intermediário antes que clientes Go recompilados possam se conectar a eles.

Go Certificados digitais Segurança