PT-2026-67305 · Pypi+1 · Gitpython+1
CVSS v2.0
9.0
Alta
| Vetor | AV:N/AC:L/Au:S/C:C/I:C/A:C |
Nome do Software Vulnerável e Versões Afetadas
GitPython versões anteriores a 3.1.51
Descrição
Uma lista de bloqueio incompleta para injeção de comandos permite que atacantes ignorem a proteção de opções inseguras. O problema reside na função
check unsafe options() e na função canonicalize option name(), que realizam verificações de correspondência exata e apenas normalizam sublinhados para hifens. Isso não considera o recurso de abreviação de prefixo de opções longas do git, no qual o git aceita qualquer prefixo inequívoco de uma opção longa.Atacantes podem usar chaves abreviadas como
upload p (que o git resolve para --upload-pack), receive p (resolvida para --receive-pack) ou exe (resolvida para --exec) para burlar a proteção e executar comandos arbitrários. Isso ocorre mesmo quando allow unsafe options está configurado como False.Recomendações
Atualize o GitPython para a versão 3.1.51 ou posterior.
Como mitigação temporária, restrinja o uso de chaves controladas por atacantes nos métodos
clone, fetch, pull e push para evitar que alcancem a função vulnerável check unsafe options().Exploit
Correção
Incomplete List of Disallowed Inputs
OS Command Injection
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Gitpython
Red Os