Impact
GitPython allows an attacker to inject Git command options via keyword arguments that bypass the library’s built‑in filtering. The vulnerability exists in functions that accept arbitrary kwargs, such as Repo.clone_from, Remote.fetch, Remote.pull, and Remote.push. When an attacker supplies crafted values for the upload_pack or receive_pack arguments, the library constructs a Git command that includes the supplied argument, resulting in uncontrolled execution of shell commands and a complete loss of confidentiality, integrity, and availability for the affected system.
Affected Systems
The flaw affects the GitPython library, and specifically applies to any software using GitPython versions between 3.1.30 inclusive and 3.1.47 exclusive. These products are maintained by the gitpython‑developers community. The issue is resolved as of release 3.1.47.
Risk and Exploitability
The vulnerability received a CVSS base score of 8.8, indicating high severity. Although no EPSS score is available, the lack of prior public exploitation combined with the high impact suggests that attackers could target vulnerable deployments if they gain access to a codebase that utilizes GitPython. The KEV status is not listed, so no active exploitation is known in the wild. Because the GitPython functions are typically called from application code, an attacker would need to supply malicious arguments to a function that receives user input or another controllable source.
OpenCVE Enrichment
Github GHSA