legit · GitPython: arbitrary file read via attacker-controlled branch name in `Head.checkout()` (incomplete fix of
Affects legitSource GCVE Database
Not known to be exploited · CVSS 8.7 High : upgrade to 1.2.0.post0_16 soon.
Data as of 30 Oct 2026, 06:59 UTC
- EPSS
- 0.3% chance of exploitation in 30 days – higher than 32% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
- Patch
- Available – fixed in 1.2.0.post0_16
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:NExploitation evidence
Disclosed: evidence found.
CVE published 14 Oct 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponized: 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 29 Oct 2026.
What to do
Upgrade legit to 1.2.0.post0_16.
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 fix is available in GitPython version 1.2.0.post0_16 and later. Users should upgrade to this version or newer to remediate the vulnerability. The vendor advisory confirms the patch status. Until upgraded, avoid cloning repositories from untrusted sources or avoid calling Head.checkout() on branches from untrusted repositories.
Description
GitPython versions up to 3.1.62 contain a vulnerability in the Head.checkout() method where an attacker-controlled branch name can be used to inject arbitrary file read commands. This occurs because the branch name positional argument is not properly sanitized before being passed to the underlying git checkout command, allowing an attacker to read sensitive files such as /etc/passwd. The issue arises from an incomplete fix of previous advisories, where only keyword arguments were guarded but not positional arguments. The vulnerability has a CVSS 3.1 score of 7.5 (High).
References
- github.com/gitpython-developers/GitPython/security/advisories/GHSA-23mf-xhv8-69c2 (opens in a new tab)
- github.com/gitpython-developers/GitPython/pull/2233 (opens in a new tab)
- github.com/gitpython-developers/GitPython/commit/8da65080849a56a2fc9f3e7817bbf0524e8397d5 (opens in a new tab)
- github.com/gitpython-developers/GitPython (opens in a new tab)
- github.com/gitpython-developers/GitPython/releases/tag/3.2.0 (opens in a new tab)