Description
GitPython before 3.1.59 contains an arbitrary file read vulnerability in TagReference.create() where a positional reference parameter bypasses the unsafe option guard. Attackers can supply a reference value like --file=<path> to read arbitrary files, with contents returned in the annotated tag message.
Published: 2026-08-25
Score: 7.1 High
EPSS: < 1% Very Low
KEV: No
Impact: Information Disclosure
Action: Apply Patch
AI Analysis

Impact

The vulnerability resides within GitPython’s TagReference.create() routine, where a positional reference argument bypasses the unsafe guard. An attacker that can control the tag creation process can supply a reference value such as --file=<path> to cause the library to read an arbitrary file from the host filesystem. The contents of that file are then returned in the annotation message of the created tag, exposing potentially sensitive data.

Affected Systems

Any installation of GitPython older than version 3.1.59 is affected, including the version ships from the gitpython-developers project. Users running these versions should verify the current version and upgrade as soon as possible.

Risk and Exploitability

With a CVSS score of 7.1 the vulnerability is considered high severity and is not listed in the CISA KEV catalog. The EPSS score is < 1%, indicating a very low probability of exploitation in the wild, but the ability to read arbitrary local files suggests that an attacker with code execution or repository manipulation privileges could leverage this flaw. If uncontrolled code can create tags, the risk is heightened to local or potentially remote attack depending on the deployment model.

Generated by OpenCVE AI on September 10, 2026 at 13:52 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update GitPython to version 3.1.59 or later, which removes the unsafe guard bypass in TagReference.create()
  • Limit GitPython’s execution to trusted repositories and restrict repository write permissions to avoid malicious tag creation
  • Apply input validation or sandboxing around the TagReference.create() call to prevent arbitrary reference values from being interpreted

Generated by OpenCVE AI on September 10, 2026 at 13:52 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-3wxw-xv34-2frg GitPython: TagReference.create positional reference bypasses kwargs-only --file guard, enabling arbitrary file read (incomplete fix of 3af0c251)
History

Thu, 10 Sep 2026 12:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-22
References
Metrics threat_severity

None

threat_severity

Moderate


Thu, 27 Aug 2026 15:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Tue, 25 Aug 2026 05:45:00 +0000

Type Values Removed Values Added
First Time appeared Gitpython-developers
Gitpython-developers gitpython
Vendors & Products Gitpython-developers
Gitpython-developers gitpython

Tue, 25 Aug 2026 02:00:00 +0000

Type Values Removed Values Added
Description GitPython before 3.1.59 contains an arbitrary file read vulnerability in TagReference.create() where a positional reference parameter bypasses the unsafe option guard. Attackers can supply a reference value like --file=<path> to read arbitrary files, with contents returned in the annotated tag message.
Title GitPython before 3.1.59 Arbitrary File Read via TagReference.create
First Time appeared Gitpython Project
Gitpython Project gitpython
Weaknesses CWE-73
CPEs cpe:2.3:a:gitpython_project:gitpython:*:*:*:*:*:*:*:*
Vendors & Products Gitpython Project
Gitpython Project gitpython
References
Metrics cvssV3_1

{'score': 6.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N'}

cvssV4_0

{'score': 7.1, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N'}


Subscriptions

Gitpython-developers Gitpython
Gitpython Project Gitpython
cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-08-27T14:56:36.199Z

Reserved: 2026-08-25T01:17:12.262Z

Link: CVE-2026-78679

cve-icon Vulnrichment

Updated: 2026-08-27T14:56:30.078Z

cve-icon NVD

Status : Received

Published: 2026-08-25T02:16:52.470

Modified: 2026-08-27T17:20:43.517

Link: CVE-2026-78679

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-08-25T01:30:36Z

Links: CVE-2026-78679 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-09-10T14:00:10Z

Weaknesses
  • CWE-22

    Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

  • CWE-73

    External Control of File Name or Path