PT-2025-2904 · Unknown+1 · Notation-Go+1
Faeris95
·
Publicado
2025-01-13
·
Atualizado
2025-09-05
·
CVE-2024-51491
CVSS v3.1
3.3
Baixa
| Vetor | AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:L |
Nome do Software Vulnerável e Versões Afetadas
Versões do notation-go anteriores a 1.3.0-rc.2
Descrição
A questão foi identificada durante a auditoria de segurança da Quarkslab no recurso de verificação de revogação baseado na Lista de Revogação de Certificados (CRL). Após recuperar a CRL, o notation-go tenta atualizar o cache da CRL usando o método os.Rename. No entanto, esta operação pode falhar devido a limitações específicas do sistema operacional, particularmente quando os caminhos de origem e destino estão em diferentes pontos de montagem. Esta falha pode levar a uma terminação inesperada do programa. No método
crl.(*FileCache).Set, um arquivo temporário é criado na área dedicada do SO (como /tmp para, usualmente, Linux/Unix). O arquivo é gravado e então tenta-se movê-lo para o diretório de cache dedicado do notation por meio do os.Rename. Quando usado com o sistema operacional Linux, ele depende da syscall rename da libc e, conforme a documentação, mover um arquivo para um ponto de montagem diferente gera um erro EXDEV, interpretado como erro "Cross device link not permitted". Algumas distribuições Linux, como Red Hat, usam um sistema de arquivos dedicado (tmpfs), montado em um ponto de montagem específico (usualmente /tmp) para arquivos temporários. Ao usar tal SO, a verificação de revogação baseada em CRL fará com que o notation falhe repetidamente. Como resultado, o processo de verificação de assinatura é abortado devido à falha do processo.Recomendações
As versões do notation-go anteriores a 1.3.0-rc.2 devem ser atualizadas para a versão 1.3.0-rc.2 para resolver a questão.
Exploit
Correção
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Suse
Notation-Go