versões corretivas do sistema de controle de versão distribuído Git 2.26.1, 2.25.3, 2.24.2, 2.23.2, 2.22.3, 2.21.2, 2.20.3, 2.19.4, 2.18.3 e 2.17.4, nas quais foi corrigido () no manipulador "" que leva ao envio de credenciais para o host errado quando o cliente git se conecta ao repositório por meio de uma URL malformada que contém um caractere de nova linha. A vulnerabilidade pode ser explorada para enviar credenciais de um host diferente para um servidor controlado pelo atacante.
Ao especificar uma URL do tipo "https://evil.com?host=github.com/", o manipulador de credenciais ao conectar-se ao host evil.com transmitirá os parâmetros de autenticação definidos para github.com. O problema se manifesta ao executar operações como "git clone", incluindo o processamento de URLs para submódulos (por exemplo, ao executar "git submodule update", serão automaticamente processadas as URLs definidas no arquivo .gitmodules do repositório). A vulnerabilidade é particularmente perigosa em situações em que o desenvolvedor clona um repositório sem ver a URL, como ao trabalhar com submódulos, ou em sistemas que realizam ações automáticas, como em scripts de construção de pacotes.
Para bloquear a vulnerabilidade nas novas versões a passagem de caractere de nova linha em quaisquer valores transmitidos através do protocolo de troca de credenciais. Para os distribuidores, é possível acompanhar o lançamento de atualizações de pacotes nas páginas , , , , , , .
Como uma solução alternativa para bloquear o problema não usar credential.helper ao acessar repositórios públicos e não aplicar "git clone" no modo "--recurse-submodules" com repositórios não verificados. Para desativar completamente o manipulador credential.helper, que realiza e recuperação de senhas do , protegido ou arquivo de senhas, podem ser usadas os seguintes comandos:
git config --unset credential.helper
git config --global --unset credential.helper
git config --system --unset credential.helper
Fonte: opennet.ru
