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.

Severity (CVSS 3.1)6.5Medium
Exploit odds (30 days)0.4%top 64.3% of all CVEs
Exploited in the wildNo reportsCISA SSVC: poc
Attack toolingNoneno public tooling known

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

EcosystemPackageFixed inAdvisory
Alpine:v3.24py3-gitpython3.1.61-r0ALPINE-CVE-2026-78678
Debian:12python-git3.1.30-1+deb12u3DEBIAN-CVE-2026-78678
Debian:13python-git3.1.44-1+deb13u1DEBIAN-CVE-2026-78678
Debian:14python-git3.1.61-1DEBIAN-CVE-2026-78678
PyPIgitpython3.1.59GHSA-5xxx-qhh7-9287
PyPIgitpython3.1.59PYSEC-2026-3788

Affected products (as reported)

VendorProductVersions
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