legit · GitPython: Unsafe git option guard bypass via single-character kwarg value token smuggling enables arbitrary command
Affects legitSource GCVE Database
Not known to be exploited · CVSS 8.7 High : upgrade to 1.2.0.post0_12 soon.
Data as of 26 Oct 2026, 19:11 UTC
- Patch
- Available – fixed in 1.2.0.post0_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 legit to 1.2.0.post0_12.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
Homebrewlegitpkg:brew/legitOther 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 patch is available in GitPython version 1.2.0.post0_12 that fixes this vulnerability. Users should upgrade to this version or later to mitigate the risk. The fix involves enhancing the option candidate detection to include tokens derived from single-character keyword argument values or running the unsafe options check on the fully transformed argument list.
Description
GitPython versions up to 3.1.53 contain a vulnerability in the check_unsafe_options guard that can be bypassed by smuggling a git option token inside the value of a single-character keyword argument. This bypass allows arbitrary OS command execution via the --upload-pack option in all guarded methods such as clone, fetch, and pull. The vulnerability arises because the guard only inspects keyword argument keys, not their values, enabling injection of unsafe options. A fix is available in version 1.2.0.post0_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)