Junglewise Threat Intelligence

CVE-2026-42215: GitPython command injection via keyword argument bypass

CVE-2026-42215 · Severity: high · CVSS 8.8 · Published 2026-05-07

Executive brief

GitPython is a popular Python library used by developers to interact with Git repositories. A security flaw allows an attacker to execute arbitrary commands on the system running the library if the application passes user-controlled input into certain repository functions. This could lead to full system compromise, unauthorized data access, or service disruption.

Technical details

GitPython contains a command injection vulnerability due to an incomplete blacklist check for dangerous Git options. While the library explicitly blocks hyphenated options like '--upload-pack' via Git.check_unsafe_options(), it fails to validate the equivalent Python keyword arguments (kwargs) that use underscores (e.g., 'upload_pack'). These underscored kwargs are later normalized into dangerous dashified Git flags during command execution. An attacker who can control the kwargs passed to Repo.clone_from(), Remote.fetch(), Remote.pull(), or Remote.push() can execute arbitrary shell commands even if 'allow_unsafe_options' is set to False. This issue is resolved in version 3.1.47.

Affected products

  • gitpython-developers GitPython >= 3.1.30, < 3.1.47

Timeline

  • 2026-04-22: advisory: Internal advisory published by maintainers
  • 2026-04-25: patched: Version 3.1.47 released
  • 2026-05-07: disclosed: CVE-2026-42215 published to NVD

References

Related threats