Skip to main content
← All vulnerabilities
CVE-2026-78678PYSEC-2026-3788GHSA-5XXX-QHH7-9287

GitPython before 3.1.59 Arbitrary File Read via Repo.blame()

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 3.1.59
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: poc
  • Automatable: no
  • Technical impact: partial

Summary

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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: poc · Automatable: no · Technical impact: partial

  3. Record last updated

Affected versions

  • gitpython-developers GitPython

    fixed in 3.1.59

  • gitpythonPyPI

    fixed in 3.1.59

References 2

GitHub · gitpython-developers/GitPython

vulncheck.com