PT-2026-39243 · Go-Git+1 · Go-Git+1

CVE-2026-44309

·

Publicado

2026-05-08

·

Atualizado

2026-07-30

CVSS v3.1

5.3

Média

VetorAV:N/AC:H/PR:N/UI:R/S:U/C:N/I:H/A:N
Nome do Software Vulnerável e Versões Afetadas Gitsign versões anteriores a 0.16.0
Descrição Os comandos gitsign verify e gitsign verify-tag re-codificam objetos de commit ou tag usando a função EncodeWithoutSignature da biblioteca go-git antes de verificar a assinatura, em vez de verificar os bytes brutos do objeto git. Isso cria uma discrepância porque o go-git utiliza a análise flexível (loose parsing); se um objeto malformado contiver cabeçalhos tree duplicados, o go-git descarta o primeiro e retém o segundo, enquanto o git-core utiliza o primeiro.
Um invasor pode explorar isso criando um commit malformado com dois cabeçalhos tree. Ao replicar uma assinatura válida de um commit legítimo sobre a segunda árvore (que o go-git visualiza), o invasor pode fazer com que o gitsign verify reporte uma assinatura válida para um commit que o git-core resolve para um conteúdo completamente diferente e controlado pelo invasor. Isso quebra a invariante de que a assinatura verificada, a semântica do commit apresentada aos usuários e o hash do objeto registrado no Rekor referem-se ao mesmo conteúdo.
Recomendações Atualize o Gitsign para a versão 0.16.0. Como medida paliativa temporária, restrinja o uso de gitsign verify e gitsign verify-tag em commits de fontes não confiáveis até que a atualização seja aplicada.

Exploit

Correção

Improper Verification of Cryptographic Signature

Improper Certificate Validation

Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾

Enumeração de Fraquezas

Identificadores relacionados

CVE-2026-44309
GHSA-7RMH-48MX-2VWC
GO-2026-5233
OPENSUSE-SU-2026:21483-1

Produtos afetados

Gitsign
Go-Git