Versões corretivas do sistema de controle de origem distribuído Git 2.40.1, 2.39.3, 2.38.5, 2.37.7, 2.36.6, 2.35.8, 2.34.8, 2.33.8, 2.32.7, 2.31.8 e 2.30.9 têm foi publicado .XNUMX, que corrigiu cinco vulnerabilidades. Você pode acompanhar o lançamento de atualizações de pacotes em distribuições nas páginas Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD. Como solução alternativa para proteção contra vulnerabilidades, é recomendável evitar a execução do comando "git apply --reject" ao trabalhar com patches externos não testados e verificar o conteúdo de $GIT_DIR/config antes de executar o "git submodule deinit", "git config --rename-section" e " git config --remove-section" ao lidar com repositórios não confiáveis.
A vulnerabilidade CVE-2023-29007 permite a substituição de configurações 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. A vulnerabilidade é causada por um erro lógico devido ao qual valores de configuração muito longos podem ser tratados como o início de uma nova seção ao renomear ou excluir uma seção de um arquivo de configuração. Na prática, a substituição de valores exploratórios pode ser obtida especificando URLs de submódulos muito longos que são armazenados no arquivo $GIT_DIR/config durante a inicialização. Essas URLs podem ser interpretadas como novas configurações ao tentar removê-las por meio de "git submodule deinit".
A vulnerabilidade CVE-2023-25652 permite substituir o conteúdo de arquivos fora da árvore de trabalho quando patches especialmente criados são processados pelo comando "git apply --reject". Se você tentar executar um patch malicioso com o comando "git apply" que tenta gravar em um arquivo por meio de um link simbólico, a operação será rejeitada. No Git 2.39.1, a proteção contra manipulaçã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 consideração é que o Git não levou em consideração 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 use esta oportunidade para gravar o conteúdo em um diretório arbitrário, na medida em que as permissões atuais permitirem.
Além disso, foram corrigidas três vulnerabilidades que aparecem apenas na plataforma Windows: CVE-2023-29012 (procure 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 do seu código no sistema do usuário), CVE-2023 -25815 (estouro de buffer durante o processamento de arquivos de localização personalizados em gettext) e CVE-2023-29011 (possibilidade de substituir o arquivo connect.exe ao trabalhar com SOCKS5).
Fonte: opennet.ru