PT-2026-38320 · Gitoxide · Gitoxide

Lawngnome

·

Publicado

2026-05-07

·

Atualizado

2026-05-28

·

CVE-2026-44471

CVSS v3.1

7.8

Alta

VetorAV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Nome do Software Vulnerável e Versões Afetadas gitoxide versões anteriores a 0.21.1
Descrição Uma árvore maliciosa pode ser construída que, ao ser extraída (checkout), permite a gravação de um link simbólico (symlink) controlado por um invasor em qualquer diretório onde o usuário tenha acesso de escrita. Isso ocorre porque a função gix fs::Stack::make relative path current() armazena em cache prefixos de caminho validados. Quando um componente de folha processado anteriormente coincide com os componentes iniciais do próximo caminho, a transição invoca delegate.push directory() em vez de delegate.push(). Em gix worktree::stack::delegate::StackDelegate, quando o estado é State::CreateDirectoryAndAttributesStack, a função Attributes::push directory() apenas carrega atributos e ignora a verificação symlink metadata() e a lógica de exclusão em caso de colisão (unlink-on-collision) presentes na invocação de create leading directory() por StackDelegate::push(). Consequentemente, o link simbólico final é criado usando std::os::unix::fs::symlink, que segue links simbólicos em diretórios pai. Um invasor pode explorar isso fornecendo uma árvore com entradas de link simbólico e diretório duplicadas para gravar arquivos em locais sensíveis, como .git/hooks/post-checkout ou ~/.local/bin, potencialmente levando à execução de código.
Recomendações Atualize o gitoxide para a versão 0.21.1.

Exploit

Correção

Link Following

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

Enumeração de Fraquezas

Identificadores relacionados

CVE-2026-44471
GHSA-F89H-2FJH-2R9Q

Produtos afetados

Gitoxide