Vulnerability · Published Aug 25, 2026 · Assigned by VulnCheck
CVE-2026-78678GitPython before 3.1.59 Arbitrary File Read via Repo.blame()
Medium 6.5
In plain English
A medium-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 36% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official description
GitPython versions before 3.1.59 contain an incomplete denylist in the unsafe_git_revision_options guard that omits --contents and -S options, allowing attackers to read arbitrary files by passing these options to Repo.blame(). Attackers can supply revision values like --contents=/etc/passwd to leak file contents through the blame result returned to the caller.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| Alpine:v3.24 | py3-gitpython | 3.1.61-r0 | ALPINE-CVE-2026-78678 |
| Debian:12 | python-git | 3.1.30-1+deb12u3 | DEBIAN-CVE-2026-78678 |
| Debian:13 | python-git | 3.1.44-1+deb13u1 | DEBIAN-CVE-2026-78678 |
| Debian:14 | python-git | 3.1.61-1 | DEBIAN-CVE-2026-78678 |
| PyPI | gitpython | 3.1.59 | GHSA-5xxx-qhh7-9287 |
| PyPI | gitpython | 3.1.59 | PYSEC-2026-3788 |
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| gitpython-developers | GitPython | 0 – before 3.1.59 |
Weakness: CWE-88 · Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
References
- GitHub Security Advisory (GHSA-5xxx-qhh7-9287) vendor-advisory
- VulnCheck Advisory: GitPython before 3.1.59 Arbitrary File Read via Repo.blame() third-party-advisory