Cloudanix VulnDB

CVE-2026-69097

High · 7.0

CVSS

7.0

EPSS

0.3%

Published

Aug 3, 2026

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A bug in a popular Python library for handling Git repositories lets attackers run their own code on developers' computers by tricking the library into adding bad settings to Git's configuration.

Exploitation
Requires User Interaction
Attacker needs
User Interaction
Complexity
High
Impact
Remote Code Execution
Component
Library
Class
Command Injection
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

The flaw allows injection of arbitrary git configuration directives, such as core.sshCommand, through malicious submodule names during create_submodule or clone_from operations, leading to remote code execution via git's SSH operations.

Why it matters to the business

Attackers could execute arbitrary code on systems using this library, potentially compromising development environments and CI/CD pipelines, leading to supply chain risks.

How an attack unfolds

An attacker crafts a malicious submodule name that injects config like core.sshCommand into .git/config when the victim clones or creates submodules, then when git performs SSH, it executes the attacker's command.

How to fix it

Upgrade GitPython to version 3.1.53 or later to properly escape section names.

How to confirm the fix worked

Verify the installed version is at least 3.1.53 and test with known malicious submodule names to ensure no injection occurs.

Typical attack path

  1. Craft malicious repository with submodule name containing config injection
  2. Victim performs clone_from or create_submodule
  3. Malicious config written to .git/config
  4. Git performs SSH operation triggering injected command
  5. Arbitrary code execution achieved

How to detect it

Look for unusual entries in .git/config files, especially core.sshCommand or other injected keys, and monitor logs for submodule operations from untrusted sources.

  • .git/config containing core.sshCommand
  • submodule names with special characters like [ or ]
  • git config entries injected via submodule

What your security team should do

  • Upgrade GitPython to 3.1.53 or newer immediately
  • Audit dependencies for GitPython usage
  • Monitor for unusual git config changes in repositories

The record

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.

Affected packages

Ecosystem Package Introduced Fixed

Related vulnerabilities