cruft · GitPython: Unsafe git option guard bypass via single-character kwarg value token smuggling enables arbitrary command
Affects cruftSource GCVE Database
Mentioned vulnerabilities
Not known to be exploited · CVSS 8.7 High : upgrade to 2.16.0_12 soon.
Data as of 26 Oct 2026, 17:42 UTC
- EPSS
- 0.9% chance of exploitation in 30 days – higher than 60% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
- Patch
- Available – fixed in 2.16.0_12
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:NExploitation evidence
Disclosed: evidence found.
CVE published 13 Aug 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponised: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 26 Oct 2026.
What to do
Upgrade cruft to 2.16.0_12.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
Homebrewcruftpkg:brew/cruftOther threats | Affected
| Fixed in
|
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
AI-suggested
A fix is available in GitPython version 2.16.0_12. Users should upgrade to this version or later to mitigate this vulnerability. The suggested fix involves improving the option guard to inspect tokens derived from kwarg values or to check the fully transformed argument list. Until patched, avoid passing user-controlled single-character keyword arguments that may contain unsafe git options.
Description
GitPython versions up to 3.1.53 contain a vulnerability in the check_unsafe_options guard that allows bypass via single-character keyword argument value token smuggling. This bypass enables arbitrary OS command execution through the --upload-pack git option in all guarded methods such as clone, fetch, and pull. The vulnerability arises because the guard only inspects option keys, not values, allowing crafted values to inject unsafe git options. A fix is available in version 2.16.0_12.
References
- github.com/gitpython-developers/GitPython/security/advisories/GHSA-r9mr-m37c-5fr3 (opens in a new tab)
- github.com/gitpython-developers/GitPython/pull/2180 (opens in a new tab)
- github.com/gitpython-developers/GitPython/commit/e8d0fbf774d1f6baa3b481adfe48bd262e43b453 (opens in a new tab)
- github.com/gitpython-developers/GitPython (opens in a new tab)
- github.com/gitpython-developers/GitPython/releases/tag/3.1.54 (opens in a new tab)