TL;DR: o Go 1.26.6 e o Go 1.25.13 corrigem dez vulnerabilidades, duas delas na verificação da cadeia de módulos. Em cenários com GOPROXY malicioso — e, em um caso, GOSUMDB coordenado — conteúdo adulterado podia passar pela validação e chegar ao cache local. A atualização também fecha falhas de XSS em html/template, consumo excessivo de recursos em TLS, HTTP, XML, ASN.1 e URLs, além de problemas em IDNA e DNS. Atualize o toolchain, recompile os binários e examine projetos que tenham usado proxies de módulos não confiáveis.
As falhas mais críticas estão na cadeia de módulos
O lançamento de 13 de agosto de 2026 dá atenção especial a duas falhas no mecanismo que protege downloads de módulos Go.
A CVE-2026-56865 estava em x/mod/sumdb/tlog. Um GOPROXY malicioso podia forjar até dois tiles do log de transparência, fazer conteúdo de módulo controlado pelo atacante passar pela consulta ao GOSUMDB e persistir esse conteúdo no cache local. A correção passa a verificar corretamente cada tile contra seus pais.
A CVE-2026-56864 afetava x/mod/sumdb. Um GOSUMDB malicioso podia devolver hashes não autenticados e não relacionados à consulta. Com um proxy e um servidor de checksums agindo em conjunto, o cliente podia aceitar conteúdo ausente do log de transparência.
Isso não significa que qualquer uso normal de proxy.golang.org foi comprometido. O cenário exige infraestrutura maliciosa ou comprometida. O risco cresce em empresas que configuram proxies privados, espelhos internos ou variáveis como GOPROXY e GOSUMDB em imagens de CI sem acompanhar sua procedência. Como módulos baixados ficam em cache e a biblioteca padrão é incorporada ao binário, atualizar apenas uma máquina de desenvolvimento não basta.
Como verificar projetos potencialmente afetados
O anúncio oficial recomenda recriar os arquivos de checksums e o diretório de vendor:
rm -r go.sum go.work.sum vendor/
go mod tidy
Faça isso em um checkout limpo ou descartável, pois o comando remove arquivos e go mod tidy pode produzir mudanças legítimas conforme o estado atual do módulo. Depois, revise o resultado com git diff e rode a suíte de testes. Em repositórios sem go.work.sum ou vendor/, ajuste o comando para não falhar por arquivos inexistentes.
Também vale auditar a configuração efetiva:
go env GOPROXY GOSUMDB GOPRIVATE GONOSUMDB
go version
go test ./...
Se a organização mantém proxy próprio, confira logs, controles de acesso e a origem dos artefatos armazenados. A validação oficial é especialmente importante para builds feitos enquanto um proxy suspeito estava configurado.
Oito correções na biblioteca padrão e em x/net
As demais vulnerabilidades cobrem superfícies comuns de aplicações de produção:
encoding/xml(CVE-2026-56859):DecodeElementpodia neutralizar o contador de profundidade e permitir exaustão da pilha com XML recursivo.net/http(CVE-2026-56853): a detecção de HTTP/2 sem criptografia lia o prefácio da conexão sem aplicarReadHeaderTimeout.net/url(CVE-2026-56860): caminhos relativos com muitos segmentos..provocavam complexidade quadrática e muitas alocações.x/net/dns/dnsmessage(CVE-2026-46600): registros SVCB ou HTTPS inválidos podiam causarpanicdurante o parsing.crypto/tls(CVE-2026-56862): um cliente podia enviar mensagensKeyUpdateindefinidamente e forçar derivações de chave contínuas no servidor.html/template(CVE-2026-56858): entradas patológicas confundiam o rastreamento de contexto de expressões regulares JavaScript, possibilitando injeção de conteúdo e XSS.x/net/idna(CVE-2026-39821): rótulos Punycode que decodificavam apenas para ASCII eram aceitos indevidamente, criando risco de escalada de privilégio em validações de hostname.encoding/asn1(CVE-2026-33818): estruturas profundamente aninhadas podiam esgotar a pilha; agora há limite de recursão.
O alcance é amplo: APIs HTTP, clientes TLS, sistemas que processam XML ou certificados, templates com JavaScript, resolutores DNS e aplicações que normalizam domínios devem tratar o patch como atualização de segurança, não como manutenção opcional.
Plano de atualização
Projetos na linha atual devem migrar para Go 1.26.6; quem ainda precisa permanecer na linha anterior deve usar Go 1.25.13. Atualize a imagem de build, versões fixadas no CI e o campo toolchain quando aplicável. Em seguida, recompile e redistribua todos os binários: executar go get não corrige código vulnerável já embutido a partir da biblioteca padrão.
Um fluxo mínimo inclui go test ./..., testes de integração e govulncheck ./.... Para serviços expostos à internet, priorize componentes que aceitam entradas não confiáveis nos pacotes citados. Para a cadeia de módulos, compare builds reproduzidos em ambiente limpo e revise qualquer divergência inesperada em checksums ou conteúdo vendorizado.