Impact
GitPython 3.1.50 does not correctly reject joined short-option forms such as -u<value> that map to --upload-pack=<value> when the default unsafe-option gate is enabled. This oversight allows an attacker to inject a command by passing -u<helper> to Repo.clone_from with allow_unsafe_options set to False. The injected helper is executed by Git during the clone, enabling arbitrary code execution. The vulnerability is a command injection flaw (CWE-78) and can compromise confidentiality, integrity, and availability of the system if the affected application processes malicious clone parameters.
Affected Systems
The flaw affects the GitPython library maintained by gitpython‑developers, specifically all releases up to and including version 3.1.50. The vendor identified a fix in release 3.1.51.
Risk and Exploitability
The CVSS score of 9.3 indicates high severity, but the EPSS score is not available, and the vulnerability is not currently listed in CISA’s KEV catalog. Exploitation requires that the attacker can influence the clone options passed to Repo.clone_from, which is common in applications that accept user input for repository URLs or parameters. Once the attacker controls these options, the bypass can be triggered and the specified helper command will execute with the process’s privileges. The attack vector is therefore application‑level input injection via the clone API.
OpenCVE Enrichment