Quick answers
- Is CVE-2026-67325 exploited in the wild?
- No. Junglewise Threat Intelligence has no report of CVE-2026-67325 being exploited in the wild.
- How severe is CVE-2026-67325?
- High severity, with a CVSS score of 8.8, published 1 August 2026.
- Which products and versions are affected?
- gitpython (PyPI) ECOSYSTEM:introduced=0,fixed=3.1.51.
- Is there a fix for CVE-2026-67325?
- Yes. gitpython (PyPI): upgrade to 3.1.51 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
- How is CVE-2026-67325 attacked?
- It is attacked over the network, in a software library.
- Am I affected by CVE-2026-67325?
- Check whether you run Gitpython Project Gitpython or gitpython (PyPI) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.
How to fix
- gitpython (PyPI): upgrade to 3.1.51 or later
pip install "gitpython>=3.1.51"
Technical details
This is an OS command injection vulnerability (CWE-78) rooted in an incomplete blocklist (CWE-184). The vulnerable code's _canonicalize_option_name() function normalizes option names by converting underscores to hyphens and performs exact-match lookup against a dictionary of dangerous options (--upload-pack, --receive-pack, --exec, --config, etc.). However, it fails to account for git's unambiguous long-option prefix abbreviation feature: git accepts any unambiguous prefix of a long option (e.g., --upload-p, --upload-pa, or --upload-pac all resolve to --upload-pack). An attacker can bypass the blocklist by passing abbreviated kwarg keys like upload_p, which canonicalize to upload-p, miss the exact-match check, and are emitted to git as --upload-p=<value>, where git expands them to dangerous options. Attack vector requires network access and authenticated user interaction with a host application that flows attacker-controlled kwarg keys into GitPython clone/fetch/pull/push calls with default allow_unsafe_options=False. Exploitation results in arbitrary command execution. Patch available in GitPython 3.1.51.
Affected products
- GitPython Contributors GitPython before 3.1.51
Identifiers
- CVE-2026-67325
- GHSA-2f96-g7mh-g2hx
- PYSEC-2026-3836
Timeline
- 2026-07-12: disclosed
- 2026-07-12: patched: Version 3.1.51 released