Description
GitPython before 3.1.60 fails to properly validate the git directory location, allowing attackers to impersonate the git directory using tracked files like gitdir, commondir, and HEAD. Attackers can execute arbitrary code by placing a malicious pre-commit hook in the tracked hooks directory that executes when a victim calls index.commit() on a cloned or opened repository.
Published: 2026-09-09
Score: 8.7 High
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

GitPython before 3.1.60 does not validate the location of the git directory, which lets an attacker impersonate the directory using tracked files such as gitdir, commondir, and HEAD. By placing a malicious pre‑commit hook in the tracked hooks directory, an attacker can cause arbitrary code execution when a victim runs index.commit() on a repository that the attacker controls. This flaw is an instance of the CWE‑94 code‑injection weakness.

Affected Systems

Affected vendors and products include GitPython developers’ GitPython library. All versions older than 3.1.60 are vulnerable. The vulnerability is identified against the product via the CPE cpe:2.3:a:gitpython_project:gitpython:*:*:*:*:*:*:*.

Risk and Exploitability

The flaw carries a high CVSS score of 8.7, indicating significant risk for confidentiality, integrity, and availability. Because the EPSS score is not available, the exact likelihood of exploitation is uncertain, but the vulnerability is listed in no KEV catalog. Exploitation requires that the attacker can supply or influence the repository content that the application will commit; once the victim executes index.commit(), the malicious pre‑commit hook will run with the same privileges as the application. Therefore, the risk is high for systems that automatically commit untrusted code.

Generated by OpenCVE AI on September 9, 2026 at 12:50 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade GitPython to version 3.1.60 or later, which includes proper validation of git directory location.
  • Avoid performing commits on repositories that originate from untrusted sources or that can be modified by attackers.
  • If upgrading is not immediately possible, disable or sanitize pre‑commit hooks by configuring hook directories as read‑only or removing hooks from untrusted repositories before calling commit.

Generated by OpenCVE AI on September 9, 2026 at 12:50 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 09 Sep 2026 11:30:00 +0000

Type Values Removed Values Added
Description GitPython before 3.1.60 fails to properly validate the git directory location, allowing attackers to impersonate the git directory using tracked files like gitdir, commondir, and HEAD. Attackers can execute arbitrary code by placing a malicious pre-commit hook in the tracked hooks directory that executes when a victim calls index.commit() on a cloned or opened repository.
Title GitPython before 3.1.60 Remote Code Execution via Git Directory Impersonation
First Time appeared Gitpython Project
Gitpython Project gitpython
Weaknesses CWE-94
CPEs cpe:2.3:a:gitpython_project:gitpython:*:*:*:*:*:*:*:*
Vendors & Products Gitpython Project
Gitpython Project gitpython
References
Metrics cvssV3_1

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

cvssV4_0

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


Subscriptions

Gitpython Project Gitpython
cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-09-09T11:21:04.007Z

Reserved: 2026-09-09T10:32:34.109Z

Link: CVE-2026-87817

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-09T12:17:16.830

Modified: 2026-09-09T12:17:16.830

Link: CVE-2026-87817

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-09T13:00:14Z

Weaknesses
  • CWE-94

    Improper Control of Generation of Code ('Code Injection')