Git 2.45.1 lançado para solucionar 5 vulnerabilidades críticas

E foi lançado o Git 2.45.1 para solucionar 5 vulnerabilidades críticas, e muito mais. Confira as novidades e veja como instalar no Linux.

Um sistema de controle de versão permite organizar o ciclo de desenvolvimento de um aplicativo em geral. De todos eles, o Git é um dos mais populares e tem o melhor suporte dos desenvolvedores.

O Git é um dos sistemas de controle de versão mais populares, confiáveis ​​e de alto desempenho, além de fornecer ferramentas de desenvolvimento não-linear baseadas em mesclagem e versões flexíveis.

Para garantir a integridade do histórico e a resistência a alterações retrospectivas, o hash implícito de todo o histórico anterior é usado em cada confirmação, e as assinaturas digitais de desenvolvedores e confirmações individuais de tags também podem ser verificadas.

Agora, o Git 2.45.1 foi lançado como a atualização de recurso mais recente desse sistema de controle de revisão distribuído amplamente usado.

Novidades do Git 2.45.1

Git 2.45.1 lançado para solucionar 5 vulnerabilidades críticas

Com a finalidade de solucionar as vulnerabilidades recentes, foi lançada a versão do Git 2.45.1, a qual aborda cinco vulnerabilidades críticas que afetam o Windows, macOS, Linux e BSD.

É mencionado que o problema ocorre quando se cria um diretório e um link simbólico no submódulo, diferenciando apenas no uso de caracteres em minúsculas e minúsculas, o que permite escrever arquivos no diretório .git/ no lugar do diretório de trabalho do submódulo.

Ao obter a capacidade de escrever em .git/, um caçador pode modificar os ganchos através de .git/hooks e executar código arbitrário durante uma operação de git clone.

As outras vulnerabilidades que foram solucionadas são:

  • CVE-2024-32004 (Nível de severidade “alto”) : Em máquinas multiusuário, um invasor pode preparar um repositório local para parecer um clone parcial com um objeto faltando, de modo que quando esse repositório for clonado, o Git executará código arbitrário durante a operação com permissões totais do usuário que executa a clonagem.
  • CVE-2024-32465 (nível de gravidade “Alto”) : a clonagem de arquivos .zip contendo repositórios Git pode ignorar as proteções, permitindo potencialmente a execução de ganchos inseguros. Há circunstâncias em que as correções para CVE-2024-32004 não são suficientes. Por exemplo, ao obter um arquivo .zip contendo uma cópia completa de um repositório Git, não se deve confiar que ele seja seguro por padrão, pois, por exemplo, os links podem ser configurados para serem executados dentro do contexto desse repositório.
  • CVE-2024-32020 (nível de gravidade “baixo”) : quando o repositório de origem e de destino residem no mesmo disco, os clones locais podem acabar criando links físicos de arquivos no banco de dados de objetos do repositório de destino. Se o repositório de origem pertencer a um usuário diferente, isso significa que esses arquivos recém-vinculados poderão ser reescritos a qualquer momento por esse outro usuário, o que pode facilmente surpreender os usuários que não estão familiarizados com esses detalhes de implementação.
  • CVE-2024-32021 (nível de gravidade “Baixo”) : Ao clonar um repositório de origem local que contém links simbólicos, o Git pode criar links físicos no diretório objects/ para arquivos arbitrários no mesmo sistema de arquivos do repositório de destino. Isso pode ser usado em ataques sofisticados para manipular o Git para gravar arquivos fora da árvore de trabalho do Git e fora do diretório .git/ .

Deve-se mencionar que além de corrigir as vulnerabilidades, as novas versões também introduzem várias mudanças destinadas a melhorar a proteção contra vulnerabilidades que conduzem à execução remota de código e à manipulação de laços simbólicos ao realizar a clonagem.

As rotas para os submódulos agora só podem conter diretórios reais.

Além disso, foi publicada uma análise detalhada da técnica para explorar a vulnerabilidade CVE-2024-32002 e um exemplo de uma exploração que permite criar repositórios que, ao serem clonados com o comando git clone --recursive, executa o código especificado por o atacante.

Mais detalhes sobre o Git 2.45.1 leia o anúncio de lançamento.

Como instalar ou atualizar o Git

Se você deseja atualizar ou instalar esta ferramenta, precisamos apenas abrir um terminal em nosso sistema e digitar um dos seguintes comandos.
Debian/Ubuntu
sudo apt-get install git

Fedora
sudo dnf install git

Gentoo
emerge --ask --verbose dev-vcs/git

Arch Linux
sudo pacman -S git

openSUSE
sudo zypper install git

Mageia
sudo urpmi git

Alpine
sudo apk add git

Ou

Para instalar a versão mais recente do Git nas principais distribuições Linux, use esse tutorial:
Como instalar a última versão do Git no Debian ou Ubuntu
Como instalar a versão mais recente do GIT no CentOS, RHEL e derivados

Sair da versão mobile