CVE-2025-48384
Git allows arbitrary code execution through broken config quoting
Em resumo
Git não aspas corretamente valores de configuração com retorno de carro no final, fazendo submódulos serem clonados em locais errados. Se um link simbólico aponta para o diretório de hooks do Git, um atacante consegue enganar o Git para executar scripts maliciosos durante a configuração do submódulo.
Detalhe técnico
Ao ler valores de configuração, Git remove caracteres CRLF, mas não aspas valores com CR final ao escrever, causando interpretação incorreta do caminho durante inicialização de submódulo. Um atacante pode preparar um repositório com caminho de submódulo contendo CR que, combinado com link simbólico apontando para o diretório hooks, dispara execução não intencional de scripts post-checkout. Requer que usuário clone repositório malicioso ou atualize submódulos (CWE-436: Conflito de Interpretação, CWE-59: Resolução Inadequada de Link).
Resumo gerado e traduzido por IA a partir da descrição oficial.
Git is a fast, scalable, distributed revision control system with an unusually rich command set that provides both high-level operations and full access to internals. When reading a config value, Git strips any trailing carriage return and line feed (CRLF). When writing a config entry, values with a trailing CR are not quoted, causing the CR to be lost when the config is later read. When initializing a submodule, if the submodule path contains a trailing CR, the altered path is read resulting in the submodule being checked out to an incorrect location. If a symlink exists that points the altered path to the submodule hooks directory, and the submodule contains an executable post-checkout hook, the script may be unintentionally executed after checkout. This vulnerability is fixed in v2.43.7, v2.44.4, v2.45.4, v2.46.4, v2.47.3, v2.48.2, v2.49.1, and v2.50.1.
CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:H
⚠ Recursos públicos, para você avaliar a exposição de sistemas que controla ou está autorizado a testar. Teste apenas com autorização.