Sceawere
Vulnerability Detail
CVE-2026-76222UPDATED Verified Sceawere Triage Sources: NVD / CISA KEV
GitPython Submodule Path Traversal Vulnerability
Vulnerability Metadata
- Severity
- High
- Score / CVSS
- 8.2
- Creation Date
- 3h ago
- Vendor
- gitpython-developers
- Product
- GitPython
- Attack Type
- Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
- Vector String
- CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:N/I:H/A:L
- Attack Complexity
- LOW
Narrative and Response
Description
GitPython before 3.1.58 fails to validate submodule names from .gitmodules files, allowing attackers to create Git repositories at arbitrary filesystem paths outside the intended clone directory. Attackers can craft malicious repositories with traversal sequences in submodule names that GitPython processes during submodule initialization, creating attacker-controlled Git repositories at escaped filesystem locations.
Executive Summary
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Technical Details
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Mitigations
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
References
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Additional Metadata
{
"score": "8.2",
"pubDate": "2026-08-19T14:17:48.603Z",
"pubdate": "2026-08-19T14:17:48.603Z",
"executiveSummary": "GitPython before 3.1.58 suffers from an input validation vulnerability involving submodule names defined within .gitmodules files. The flaw allows malicious actors to craft repositories containing directory traversal sequences in submodule names, which GitPython processes during submodule initialization operations. When exploited, the vulnerability enables the creation of attacker-controlled Git repositories at arbitrary filesystem paths outside the intended target clone directory. The impact includes unauthorized file system writes and potential placement of arbitrary repository structures in sensitive locations, depending on the execution context and privileges of the user running GitPython. Exploitation requires an attacker to trick a user or automated system into cloning or initializing a maliciously crafted repository containing specially formatted submodule configurations. The risk implication is significant for environments relying on GitPython for automated repository management and dependency resolution, as it compromises isolation boundaries and directory constraints during the cloning process.",
"technicalDetails": "The root cause of the vulnerability resides in the lack of proper validation and sanitization of submodule names extracted from .gitmodules configuration files by GitPython prior to version 3.1.58. Specifically, the vulnerable component fails to adequately filter directory traversal sequences such as dot-dot-slash patterns within the submodule naming parameters. During the submodule initialization phase, GitPython constructs target directory paths based on these unvalidated submodule names without ensuring the resulting path resolves securely within the boundaries of the base working directory. The attack flow begins when an attacker publishes a malicious Git repository containing a .gitmodules file with a crafted submodule name incorporating traversal sequences. When a victim or an automated pipeline utilizes GitPython to process, clone, or initialize submodules within this repository, the parsing engine evaluates the malicious submodule identifier. Due to the absence of strict path containment checks, the file system operations interpret the traversal sequences, causing directory navigation outside the intended clone directory. Consequently, Git operations such as repository creation or object writing are performed at escaped filesystem locations dictated by the attacker's payload. The vulnerability affects GitPython versions prior to 3.1.58. Exploitation does not require authentication or specific elevated privileges beyond the ability to supply or host a malicious Git repository processed by the vulnerable library. The network exposure depends on how GitPython is deployed, commonly affecting continuous integration systems, development environments, or server-side applications that automatically ingest and process untrusted repositories. Post-exploitation impact involves arbitrary file system placement of Git repositories, potentially overwriting existing directories or establishing persistent attacker-controlled structures in unintended system locations."
}