Vulnerabilidad · Publicado 01/08/2026 · Actualizado 02/08/2026
GitPython antes de la versión 3.1.51 no valida opciones peligrosas de Git en los métodos Repo.archive(), git.ls_remote(), Repo.iter_commits() y Repo.blame(), permitiendo inyección de comandos y ejecución arbitraria a través de parámetros malformados como --exec, --upload-pack u opciones con prefijo guion. Afecta directamente a pipelines CI/CD, sistemas de control de versiones distribuido y herramientas de análisis de código en empresas LATAM que utilizan Python para automatización.
GitPython before 3.1.51 fails to guard against dangerous Git options passed as keyword arguments in Repo.archive() and git.ls_remote(), allowing command injection via options such as --exec/--upload-pack (leading to arbitrary command execution). Additionally, Repo.iter_commits() and Repo.blame() do not check for leading-dash revision arguments, so a revision like --output=<path> can cause Git to open and truncate an arbitrary file. Exploitation requires an application that passes attacker-controlled arguments to these methods.
Score: 8.4/10 — Severidad: HIGH — Estado NIST: Received
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CWE-77
Publicado en NIST NVD.