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
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