Vulnerabilidade no Git para Cygwin que permite organizar a execução de código

Uma vulnerabilidade crítica foi identificada no Git (CVE-2021-29468), que aparece apenas durante a construção para o ambiente Cygwin (uma biblioteca para emular a API básica do Linux no Windows e um conjunto de programas Linux padrão para Windows). A vulnerabilidade permite que o código do invasor seja executado ao recuperar dados (“git checkout”) de um repositório controlado pelo invasor. O problema foi corrigido no pacote git 2.31.1-2 para Cygwin. No projeto principal do Git, o problema ainda não foi corrigido (é improvável que alguém esteja construindo o git para o Cygwin com as próprias mãos, em vez de usar um pacote pronto).

A vulnerabilidade é causada pelo processamento do ambiente pelo Cygwin como um sistema semelhante ao Unix em vez do Windows, o que resulta em nenhuma restrição ao uso do caractere '\' no caminho, enquanto no Cygwin, como no Windows, esse caractere pode ser usado para separar diretórios. Como resultado, ao criar um repositório especialmente modificado contendo links simbólicos e arquivos com barra invertida, é possível sobrescrever arquivos arbitrários ao carregar este repositório no Cygwin (uma vulnerabilidade semelhante foi corrigida no Git para Windows em 2019). Ao obter a capacidade de sobrescrever arquivos, um invasor pode substituir chamadas de gancho no git e fazer com que código arbitrário seja executado no sistema.

Fonte: opennet.ru

Adicionar um comentário