legit · GitPython: Arbitrary Git Repository Creation Outside the Working Tree via Unvalidated .gitmodules Submodule Name in
Affects legitSource GCVE Database
Not known to be exploited · CVSS 8.4 High : upgrade to 1.2.0.post0_14 soon.
Data as of 26 Oct 2026, 19:01 UTC
- Patch
- Available – fixed in 1.2.0.post0_14
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:H/VA:L/SC:N/SI:H/SA:LExploitation evidence
Disclosed: evidence found.
CVE published 19 Aug 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponised: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 26 Oct 2026.
What to do
Upgrade legit to 1.2.0.post0_14.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
Homebrewlegitpkg:brew/legitOther threats | Affected
| Fixed in
|
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
AI-suggested
A fixed version of GitPython is available (1.2.0.post0_14). Users should upgrade to this version or later to remediate the vulnerability. Avoid using vulnerable GitPython versions to clone and initialize submodules from untrusted repositories.
Description
GitPython versions prior to 1.2.0.post0_14 contain a vulnerability where the submodule name from a cloned repository's .gitmodules file is not validated. This allows an attacker controlling the repository to specify a submodule name with directory traversal sequences, causing GitPython to create and initialize a Git repository outside the intended working directory when submodules are initialized. This behavior differs from core Git, which blocks such attacks. The vulnerability requires the victim to clone the malicious repository using GitPython and run submodule initialization.
References
- github.com/gitpython-developers/GitPython/security/advisories/GHSA-hmq2-w58f-27jc (opens in a new tab)
- nvd.nist.gov/vuln/detail/CVE-2026-76222 (opens in a new tab)
- github.com/gitpython-developers/GitPython/pull/2202 (opens in a new tab)
- github.com/gitpython-developers/GitPython/commit/4299c990e1ca21896f9485277caf7bb0ae5b404c (opens in a new tab)
- github.com/gitpython-developers/GitPython/commit/e4b8e7d026ca6abb4cf604f8e77093432ce23c06 (opens in a new tab)
- github.com/gitpython-developers/GitPython (opens in a new tab)
- github.com/gitpython-developers/GitPython/releases/tag/3.1.58 (opens in a new tab)
- github.com/pypa/advisory-database/tree/main/vulns/gitpython/PYSEC-2026-3784.yaml (opens in a new tab)
- vulncheck.com/advisories/gitpython-before-path-traversal-via-gitmodules-submodule-name (opens in a new tab)