Vulnerability · Published Oct 14, 2026 · Assigned by VulnCheck
CVE-2026-110859GitPython before 3.2.0 Arbitrary File Read via Head.checkout() Branch Name
High 7.5
In plain English
A high-severity argument injection in GitPython from gitpython-developers. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 0.4% (higher than 33% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official 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 packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian:12 | python-git | 3.1.30-1+deb12u3 | DEBIAN-CVE-2026-110859 |
| Debian:14 | python-git | 3.2.1-1 | DEBIAN-CVE-2026-110859 |
| PyPI | gitpython | 3.2.0 | GHSA-23mf-xhv8-69c2 |
| Ubuntu:26.10 | python-git | no fix listed | UBUNTU-CVE-2026-110859 |
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| gitpython-developers | GitPython | 0 – before 3.2.0 |
Weakness: CWE-88 · Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
References
- GitHub Security Advisory (GHSA-23mf-xhv8-69c2) vendor-advisory
- VulnCheck Advisory: GitPython before 3.2.0 Arbitrary File Read via Head.checkout() Branch Name third-party-advisory