PT-2026-38320 · Gitoxide · Gitoxide
Lawngnome
·
Publicado
2026-05-07
·
Atualizado
2026-05-28
·
CVE-2026-44471
CVSS v3.1
7.8
Alta
| Vetor | AV: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
Produtos afetados
Gitoxide