Description
GitPython before 3.1.58 contains a command execution vulnerability in the check_unsafe_options guard that can be bypassed by combining a single-character kwarg with split_single_char_options=False. Attackers can supply a crafted kwargs dictionary to guarded methods like clone_from to emit a joined token parsed as --upload-pack, enabling arbitrary OS command execution at default allow_unsafe_options=False.
Published: 2026-08-19
Score: 8.7 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

GitPython before 3.1.58 contains a command execution flaw in the check_unsafe_options guard. By combining a single-character keyword argument with split_single_char_options=False, the guard can be bypassed. Attacker‑provided kwargs to guarded methods such as clone_from lead to a token that is parsed as the --upload-pack option, enabling arbitrary OS command execution when allow_unsafe_options remains False.

Affected Systems

The vulnerability affects the GitPython library distributed by gitpython-developers. All releases prior to version 3.1.58 are vulnerable. The fix is delivered in version 3.1.58 and later.

Risk and Exploitability

This flaw carries a CVSS score of 8.7, indicating a high severity remote code execution identified as CWE-78 and CWE-88. Its EPSS score is 0.00463 (<1%), indicating a very low probability of exploitation in the wild, and the vulnerability is not yet listed in CISA's KEV catalog. The exploitation requires the attacker to supply crafted input to a guarded method, so impact surfaces when the library is used with untrusted data or in environments where an attacker can influence the keyword arguments. Based on the description, it is inferred that the likely attack vector is control over kwargs passed to guarded methods.

Generated by OpenCVE AI on August 28, 2026 at 19:39 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade GitPython to version 3.1.58 or later to apply the fix.
  • In code that calls guarded methods, enforce split_single_char_options=true and validate that keyword argument keys do not consist of single characters; reject or sanitize any such input.
  • Review all uses of clone_from and similar functions for accidental passing of untrusted keyword arguments, and refactor script logic to eliminate reliance on user‑supplied single‑character options.

Generated by OpenCVE AI on August 28, 2026 at 19:39 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-wvpp-8hx9-p66j GitPython: Unsafe git option guard bypass via split_single_char_options=False short-option token smuggling enables command execution
History

Thu, 03 Sep 2026 15:15:00 +0000

Type Values Removed Values Added
CPEs cpe:2.3:a:gitpython_project:gitpython:*:*:*:*:*:python:*:*

Thu, 27 Aug 2026 18:00:00 +0000

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

None

threat_severity

Important


Thu, 20 Aug 2026 19:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Wed, 19 Aug 2026 14:15:00 +0000

Type Values Removed Values Added
Description GitPython before 3.1.58 contains a command execution vulnerability in the check_unsafe_options guard that can be bypassed by combining a single-character kwarg with split_single_char_options=False. Attackers can supply a crafted kwargs dictionary to guarded methods like clone_from to emit a joined token parsed as --upload-pack, enabling arbitrary OS command execution at default allow_unsafe_options=False.
Title GitPython before 3.1.58 Command Execution via split_single_char_options
First Time appeared Gitpython Project
Gitpython Project gitpython
Weaknesses CWE-88
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:L/UI:N/S:U/C:H/I:H/A:H'}

cvssV4_0

{'score': 8.7, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/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-08-20T18:30:07.927Z

Reserved: 2026-08-19T11:35:13.689Z

Link: CVE-2026-76220

cve-icon Vulnrichment

Updated: 2026-08-20T18:30:03.635Z

cve-icon NVD

Status : Analyzed

Published: 2026-08-19T14:17:48.323

Modified: 2026-09-03T15:04:15.237

Link: CVE-2026-76220

cve-icon Redhat

Severity : Important

Publid Date: 2026-08-19T14:02:04Z

Links: CVE-2026-76220 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-28T19:45:03Z

Weaknesses
  • CWE-78

    Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')

  • CWE-88

    Improper Neutralization of Argument Delimiters in a Command ('Argument Injection')