Skip to main content

GitPython CVE-2026-78677

| EUVDEUVD-2026-65223 HIGH
Path Traversal (CWE-22)
2026-08-25 VulnCheck GHSA-7r39-6q8m-qw68
8.7
CVSS 4.0 · Vendor: VulnCheck
Share

Severity by source

Vendor (VulnCheck) PRIMARY
8.7 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/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
9.3 CRITICAL

Network vector reflects worst-case exposed application; S:C and I:H capture hook execution crossing process boundary; C:L acknowledges limited read side-effect from hooks.

3.1 AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:H/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:L/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/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
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
X

Lifecycle Timeline

3
Patch available
Aug 25, 2026 - 03:16 EUVD
Analysis Generated
Aug 25, 2026 - 02:30 vuln.today
CVE Published
Aug 25, 2026 - 01:30 cve.org
HIGH 8.7

DescriptionCVE.org

GitPython before 3.1.59 omits --separate-git-dir from unsafe_git_clone_options, allowing attackers to create arbitrary git directories outside the intended clone destination. Attackers can pass a separate_git_dir parameter to Repo.clone_from() or Repo.clone() to redirect repository metadata to an attacker-controlled filesystem path, enabling arbitrary directory creation and potential hook execution.

AnalysisAI

Arbitrary directory creation and potential hook-based code execution in GitPython affects all releases before 3.1.59. The library's clone operations omit --separate-git-dir from the unsafe_git_clone_options blocklist, so any application that passes attacker-controlled values to Repo.clone_from() or Repo.clone() allows git to redirect repository metadata to an arbitrary filesystem path. …

Unlock full vulnerability intelligence

  • Risk assessment & exploitation conditions
  • Attack chain visualization
  • Remediation with exact patch versions
  • Threat intelligence from 22 sources
  • Personal watchlist & email alerts

Free forever · No credit card required

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata

Recon
Identify application exposing GitPython clone with user-controlled parameters
Delivery
Craft request supplying malicious `separate_git_dir` path
Exploit
GitPython forwards unblocked `--separate-git-dir` to git
Install
Git creates metadata directory at attacker-specified filesystem path
C2
Plant hook scripts at redirected `.git` directory
Execute
Trigger subsequent git operation in application
Impact
Execute arbitrary commands as application process user

Vulnerability AssessmentAI

Exploitation Exploitation requires that an application passes attacker-controlled data as the `separate_git_dir` parameter to `Repo.clone_from()` or `Repo.clone()`, without first filtering it through GitPython's `unsafe_git_clone_options` mechanism. … Additional conditions and limiting factors are described in the full assessment.
Risk Assessment The supplied CVSS 4.0 base score of 8.7 (AV:N/AC:L/AT:N/PR:N/UI:N) represents a worst-case assumption where a network-accessible application passes user-supplied parameters directly to GitPython clone calls - plausible for CI/CD portals, repository management tools, or code-hosting platforms. … Full risk analysis with EPSS, KEV, and SSVC signal comparison available after sign-in.
Exploit Scenario An attacker targeting a self-hosted repository management platform that accepts user-specified clone parameters submits a request containing `separate_git_dir=/var/spool/cron/crontabs` or another writable, high-privilege path, causing git to create its metadata directory there. If the attacker can subsequently place hook scripts at that location - through a second application function or a race condition - any git operation the server triggers will execute those hooks under the web application's process identity. …
Remediation Upgrade GitPython to version 3.1.59 or later, which adds `--separate-git-dir` to the `unsafe_git_clone_options` blocklist, closing the bypass. … Detailed patch versions, workarounds, and compensating controls in full report.

Recommended ActionAI

Within 24 hours: Inventory all applications and services using GitPython across your infrastructure and identify which versions are deployed. …

Sign in for detailed remediation steps and compensating controls.

Threat intelligence, references, and detailed analysis are available after sign-in.

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
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
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-67323 HIGH
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
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-76221 HIGH
8.7 Aug 19

Config-name injection in GitPython <= 3.1.57 enables arbitrary git-config directive forgery and remote code execution vi

CVE-2026-67322 HIGH
8.7 Aug 01

Environment variable exfiltration in GitPython before 3.1.52 allows any attacker who controls a URL passed to `Repo.clon

Share

CVE-2026-78677 vulnerability details – vuln.today

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