Vulnerabilidades no Git que permitem sobrescrever arquivos ou executar seu próprio código

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

Adicionar um comentário