Skip to main content

GitPython EUVDEUVD-2026-52290

| CVE-2026-69097 HIGH
Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection') (CWE-74)
2026-08-03 VulnCheck GHSA-9xx9-hw38-h2w9
7.3
CVSS 4.0 · Vendor: VulnCheck
Share

Severity by source

Vendor (VulnCheck) PRIMARY
7.3 HIGH
CVSS:4.0/AV:L/AC:H/AT:P/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
vuln.today AI
8.3 HIGH

Network delivery via malicious repository (AV:N); AC:H because victim must subsequently trigger a git SSH operation; scope changes as RCE executes in git subprocess outside GitPython's trust boundary.

3.1 AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:H
4.0 AV:N/AC:H/AT:P/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
SUSE
7.0 HIGH
AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H
Red Hat
7.0 MEDIUM
qualitative

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Local
Attack Complexity
High
Privileges Required
None
User Interaction
P
Scope
X

Lifecycle Timeline

4
Source Code Evidence Fetched
Aug 03, 2026 - 14:21 vuln.today
Analysis Generated
Aug 03, 2026 - 14:21 vuln.today
Patch available
Aug 03, 2026 - 14:02 EUVD
CVE Published
Aug 03, 2026 - 13:20 cve.org
HIGH 7.3

Blast Radius

ecosystem impact
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 1 pypi packages depend on gitpython (1 direct, 0 indirect)

Ecosystem-wide dependent count for version 3.1.53.

DescriptionCVE.org

GitPython before 3.1.53 fails to properly escape section names in git config files, allowing attackers to inject arbitrary configuration directives through malicious submodule names. Attackers can inject core.sshCommand or other dangerous config keys into the victim's .git/config via create_submodule or clone_from operations, achieving remote code execution when git performs ssh operations.

AnalysisAI

Git-config section-name injection in GitPython <= 3.1.52 enables remote code execution by writing attacker-controlled core.sshCommand directives into a victim's .git/config via the create_submodule() or clone_from() API methods. The vulnerable component (CPE: cpe:2.3:a:gitpython-developers:gitpython) fails to escape bracket characters in submodule names, allowing a crafted name such as x"] [core] sshCommand=malicious # to close the intended config section header and open a new one on the same line - bypassing the existing CR/LF/NUL guard entirely. No public exploit has been identified at time of analysis and no CISA KEV listing exists, but the fully documented injection mechanism and RCE primitive make this a high-priority fix for any pipeline processing untrusted repositories.

Technical ContextAI

GitPython is a Python library for programmatic git repository interaction, identified by CPE cpe:2.3:a:gitpython-developers:gitpython:*:*:*:*:*:*:*:*. Git's native config file format uses [section "subsection"] headers where the section name is delimited by [ and ]. GitPython's _assure_config_name_safe() function in git/config.py line 75 enforces only a regex guard r'[\r\n\x00]' - stripping CR, LF, and NUL - before writing names verbatim into the [%s]\n header template at line 693. For submodules, git/objects/submodule/util.py:39 wraps the attacker-supplied name as submodule "<name>". A name containing "] [core] sshCommand=CMD # causes the serialized line to become [submodule "x"] [core] sshCommand=CMD #"], which git's config parser interprets as two distinct sections: the intended submodule entry and a new [core] block setting sshCommand. This is CWE-74 (Injection) - specifically an incomplete output-encoding failure that was previously partially addressed for newline injection in 3.1.50 (GHSA-mv93-w799-cj2w, GHSA-v87r-6q3f-2j67) but left same-line bracket injection unmitigated. Beyond core.sshCommand, the same primitive can inject core.fsmonitor, core.pager, and alias.* directives.

RemediationAI

Upgrade GitPython to version 3.1.53 or later using pip install --upgrade gitpython. This is a vendor-released patch confirmed by the GHSA advisory and the fix commit at https://github.com/gitpython-developers/GitPython/commit/1ed1b924f4e2d2ee7bab296df77b978af21853f1. The full vendor advisory is at https://github.com/gitpython-developers/GitPython/security/advisories/GHSA-3rp5-jjmw-4wv2. As a compensating control prior to patching, applications should validate submodule names before passing them to create_submodule() or clone_from(), rejecting any names containing ], [, ", #, =, or whitespace - note this may break legitimate submodule names containing these characters. Additionally, avoid cloning or processing repositories from untrusted sources until patched, since .gitmodules contents directly feed the vulnerable code paths. Pipelines that cannot immediately upgrade should consider disabling submodule initialization (--no-recurse-submodules) as a temporary measure, accepting the trade-off of broken submodule functionality.

CVE-2022-24439 CRITICAL POC
9.8 Dec 06

All versions of package gitpython are vulnerable to Remote Code Execution (RCE) due to improper user input validation, w

CVE-2023-40590 HIGH POC
7.8 Aug 28

GitPython is a python library used to interact with Git repositories. Rated high severity (CVSS 7.8), this vulnerability

CVE-2023-41040 MEDIUM POC
6.5 Aug 30

GitPython is a python library used to interact with Git repositories. Rated medium severity (CVSS 6.5), this vulnerabili

CVE-2023-40267 CRITICAL
9.8 Aug 11

GitPython before 3.1.32 does not block insecure non-multi options in clone and clone_from. Rated critical severity (CVSS

CVE-2026-78676 CRITICAL POC
9.3 Aug 25

Arbitrary code execution in GitPython before 3.1.59 arises from unsafe re-serialization of multi-line, quoted git-config

CVE-2026-67324 CRITICAL
9.3 Aug 01

Command execution in GitPython 3.1.50 arises because its default unsafe-option gate fails to recognize joined short-opti

CVE-2026-67325 HIGH POC
8.7 Aug 01

Command injection in GitPython before 3.1.51 allows low-privileged attackers to bypass the `check_unsafe_options` blockl

CVE-2026-42215 HIGH POC
8.8 May 07

Command injection in GitPython 3.1.30-3.1.46 allows remote authenticated attackers to execute arbitrary commands via und

CVE-2026-67323 HIGH POC
8.6 Aug 01

Command injection and arbitrary file overwrite in GitPython before 3.1.51 expose applications that pass attacker-control

CVE-2026-73625 HIGH
8.7 Aug 13

Remote code execution in GitPython before 3.1.54 exploits a guard bypass in check_unsafe_options where the validation lo

CVE-2026-76220 HIGH POC
8.7 Aug 19

Arbitrary OS command execution in GitPython before 3.1.58 is possible by bypassing the check_unsafe_options guard using

CVE-2026-78677 HIGH POC
8.7 Aug 25

Arbitrary directory creation and potential hook-based code execution in GitPython affects all releases before 3.1.59. Th

Vendor StatusVendor

SUSE

Severity: Important
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Performance Computing 15 SP7 Affected
SUSE Linux Enterprise Module for Python 3 15 SP7 Affected
SUSE Linux Enterprise Server 15 SP7 Affected
SUSE Linux Enterprise Server 16.0 Affected

Share

EUVD-2026-52290 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy