What’s Vulnerable › Vulnerabilities
CVE-2026-110859: GitPython before 3.2.0 Arbitrary File Read via Head.checkout() Branch Name
- Severity: high (CVSS 7.5 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.4% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2026-10-14 · updated 2026-10-16
- Weakness: CWE-88
Description
GitPython before 3.2.0 contains an argument injection vulnerability in Head.checkout() that allows remote attackers to read arbitrary files by supplying a branch name parsed as a git option. Attackers can host a repository whose default branch is named --pathspec-from-file=<path>, causing cloning applications that check out the active branch to leak file contents through GitCommandError messages.
Affected products
- Pypi Gitpython: before 3.2.0; 0.1.7, 0.2.0-beta1, 0.3.0-beta1, 0.3.0-beta2, 0.3.1-beta2, 0.3.2 (+109) — fixed in 3.2.0
- gitpython-developers GitPython: before 3.2.0 — fixed in 3.2.0
How to fix
Upgrade to a fixed version: Pypi Gitpython 3.2.0; gitpython-developers GitPython 3.2.0. Check the vendor advisory for mitigations.
References
- https://github.com/gitpython-developers/GitPython/security/advisories/GHSA-23mf-xhv8-69c2
- https://www.vulncheck.com/advisories/gitpython-before-3.2.0-arbitrary-file-read-via-head-checkout-branch-name
- https://github.com/gitpython-developers/GitPython/security/advisories/GHSA-23mf-xhv8-69c2
Get alerted when CVE-2026-110859 or the next vulnerability affects your stack