Se exploradas, essas falhas podem permitir que invasores obtenham acesso não autorizado a informações confidenciais ou geralmente causem problemas
O lançamento de novas correções de manutenção do Git v2.40.1, junto com versões de manutenção para versões anteriores v2.39.3, v2.38.5, v2.37.7, v2.36.6, v2.35.8,
v2.34.8, v2.33.8, v2.32.7, v2.31.8 e v2.30.9, isso porque foram divulgadas informações de que cinco vulnerabilidades foram identificadas no Git.
O lançamento dessas versões de manutenção destinam-se a resolver problemas de segurança identificados como CVE-2023-25652, CVE-2023-25815 e CVE-2023-29007.
Sobre as vulnerabilidades do Git
Vulnerabilidade CVE-2023-29007 permite substituição de configuração no arquivo de configuração $GIT_DIR/config, que pode ser usado para executar código no sistema especificando caminhos para arquivos executáveis nas diretivas core.pager, core.editor e core.sshCommand.
Vulnerabilidade é devido a um erro lógico devido a valores de configuração muito longos eles podem ser tratados como o início de uma nova seção renomeando ou removendo uma seção de um arquivo de configuração.
Na prática, a substituição de valores de exploração pode ser obtida especificando URLs de submódulos muito longos que são salvos no arquivo $GIT_DIR/config durante a inicialização. Essas URLs podem ser interpretadas como novas configurações quando você tenta removê-las por meio de "git submodule deinit".
Outra vulnerabilidade é CVE-2023-25652 permitindo sobrescrever o conteúdo de arquivos fora da árvore de trabalho ao processar patches especialmente projetados com o comando "git apply --rejeitar«. Se você tentar executar um patch malicioso com o comando "vai aplicar» que tentar gravar em um arquivo por meio de um link simbólico, a operação será rejeitada.
Por sua vez, a vulnerabilidade CVE-2023-25815: quando o Git é compilado com suporte a prefixos de tempo de execução e é executado sem mensagens traduzidas, ele ainda usa o maquinário gettext para exibir mensagens, que subsequentemente procuram mensagens traduzidas em locais inesperados. Isso permitia a postagem maliciosa de mensagens manipuladas.
No Git 2.39.1, a proteção contra adulteração de links simbólicos foi estendida para bloquear patches que criam links simbólicos e tentam gravar por meio deles. A essência da vulnerabilidade em questão é que o Git não levou em conta que o usuário pode executar o comando "git apply –reject" para gravar as partes rejeitadas do patch como arquivos com a extensão ".rej" e o invasor pode usar essa função para gravar o conteúdo em um diretório arbitrário, na medida em que os direitos de acesso atuais permitem.
Além disso, Corrigidas três vulnerabilidades que aparecem apenas no Windows:
- CVE-2023-29012: (procura o executável doskey.exe no diretório de trabalho do repositório ao executar o comando "Git CMD", que permite organizar a execução de seu código no sistema do usuário)
- CVE-2023-25815: Estouro de buffer ao processar arquivos de localização personalizados em gettext. Essa vulnerabilidade afeta usuários que trabalham em máquinas Windows às quais outras partes não confiáveis têm acesso de gravação. Normalmente, todos os usuários autenticados têm permissão para criar pastas em C:\, o que permite que atores mal-intencionados injetem mensagens inválidas no git.exe.
- CVE-2023-29011: Possibilidade de substituir o arquivo connect.exe ao trabalhar com SOCKS5. A localização do arquivo de configuração connect.exe é codificado para um caminho que geralmente é interpretado como C:\etc\connectrc, que é similarmente passível de ser tratado acima.
Como solução alternativa proteger contra vulnerabilidades, é recomendável evitar a execução do comando «git apply --rejeitar» ao trabalhar com patches externos não verificados e verificar o conteúdo de $GIT_DIR/config antes de executar os comandos "git submódulo deinit«,«configuração do git --rename-section" e "git config --remove-section" ao lidar com repositórios não confiáveis.
Por fim, se você estiver interessado em saber mais sobre o assunto, consulte os detalhes em o seguinte link.
Os interessados em acompanhar o lançamento de atualizações de pacotes nas distribuições podem fazê-lo nas páginas de Debian, Ubuntu, RHEL, SUSE / openSUSE, Fedora, arco, FreeBSD.