Read the docs
TI-2026-54690 Aliases CVE-2026-78678GHSA-5xxx-qhh7-9287

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

Priority MEDIUM 64CWE-88Published · Updated

Key facts

Attack vector
Network
Privileges required
Low
User interaction
None
Attack complexity
Low
Attack requirements
None
Impact type
Code execution, Information disclosure
Confidentiality · integrity · availability
High · None · None
Fix status
Partial Red Hat: 9 without a fix

Attack profile from CVSS 4.0 · CNA. Fix status from CNA, GitHub and Red Hat. Impact type from CWE-88 and CWE-200.

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.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00412 35th percentileScored 2026-11-07
Public exploit Yes 1 exploit referenceTagged by NVD
Fix Partial GitPython (gitpython-developers): 3.1.59GitPython (PyPI): 3.1.59Red Hat: 9 without a fix

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
gitpython-developersGitPythonbefore 3.1.593.1.59Patch availableCNA
—GitPython (PyPI)before 3.1.593.1.59Patch availableGHSA-5xxx-qhh7-9287
  • GitPython Vendorgitpython-developers Affected before 3.1.59 Fixed in 3.1.59 Patch available CNA
  • GitPython (PyPI) Vendor— Affected before 3.1.59 Fixed in 3.1.59 Patch available GHSA-5xxx-qhh7-9287

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:gitpython_project:gitpython:*:*:*:*:*:python:*:*before 3.1.59Vulnerablegitpython-developers
  • cpe:2.3:a:gitpython_project:gitpython:*:*:*:*:*:python:*:* Versions before 3.1.59 Vulnerable ·gitpython-developers

Remediation

  • Fix · CNA GitPython (gitpython-developers) Fixed in 3.1.59
  • Fix · GHSA-5xxx-qhh7-9287 GitPython (PyPI) Fixed in 3.1.59 Advisory →

Fixed in the same release

Records fixed by the same vendor advisory or release, as the CNA lists them.

  • Release ·

    gitpython-developers GitPython 3.1.59

    5 records Highest priority Priority HIGH 2 HIGH, 3 MEDIUM

    Other records, highest priority first

    • TI-2026-54689 GitPython before 3.1.59 Path Traversal via separate-git-dirPriority HIGH 77
    • TI-2026-54687 GitPython before 3.1.59 Local File Content Disclosure via .gitmodulesPriority HIGH 72
    • TI-2026-54691 GitPython before 3.1.59 Arbitrary File Read via TagReference.createPriority MEDIUM 64

Vendor assessments

Red Hat

Red Hat rating: Moderate. Red Hat's page for this CVE →

ProductStatusPlan or fix
Exploit IntelligenceAffectedNo fix yet: Fix deferred
Migration Toolkit for Applications 8AffectedNo fix yet: Fix deferred
Red Hat AI Inference ServerAffectedNo fix yet: Fix deferred
Red Hat Ansible Automation Platform 2AffectedNo fix yet: Fix deferred
Red Hat Enterprise Linux AI (RHEL AI) 3AffectedNo fix yet: Fix deferred
Red Hat OpenShift AI (RHOAI)AffectedNo fix yet: Fix deferred
Red Hat OpenStack Platform 16.2AffectedNo fix yet: Fix deferred
Red Hat OpenStack Platform 17.1AffectedNo fix yet: Fix deferred
Red Hat Satellite 6AffectedNo fix yet: Fix deferred
Not affected: 2 products
  • Red Hat Ansible Automation Platform 2
  • Red Hat Hardened Images

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-78678
  2. 2026-10-03 Alias added: GHSA-5xxx-qhh7-9287

References

  • TI-2026-54689 GitPython before 3.1.59 Path Traversal via separate-git-dir CVSS 4.0HIGH 8.7
  • TI-2026-51706 GitPython before 3.1.55 Environment Variable Exfiltration via Remote.add() CVSS 4.0HIGH 8.7
  • TI-2026-47618 GitPython before 3.1.52 Environment Variable Exfiltration via clone_from CVSS 4.0HIGH 8.7
  • TI-2026-30595 GitPython: Unsafe option check validates multi_options before shlex.split transforms it CVSS 3.1CRITICAL 9.8
  • TI-2026-32220 GitPython: Path traversal in GitPython reference APIs allows arbitrary file write and delete outside the repository CVSS 4.0HIGH 7.8
  • TI-2026-47621 GitPython before 3.1.51 Command Injection via option prefix abbreviation CVSS 4.0HIGH 8.7
See all 34 →

Sources