shallow-backup · GitPython: Arbitrary Git Repository Creation Outside the Working Tree via Unvalidated .gitmodules Submodule Name in
Affects shallow-backupSource GCVE Database
Not known to be exploited · CVSS 8.4 High : upgrade to 6.6_6 soon.
Data as of 26 Oct 2026, 17:58 UTC
- EPSS
- 0.4% chance of exploitation in 30 days – higher than 36% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
- Patch
- Available – fixed in 6.6_6
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 shallow-backup to 6.6_6.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
Homebrewshallow-backuppkg:brew/shallow-backupOther 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 patch is available in GitPython version 6.6_6 that addresses this vulnerability. Users should upgrade to version 6.6_6 or later to remediate this issue. Until upgraded, avoid cloning and initializing submodules from untrusted repositories using GitPython. No other mitigations are specified.
Description
GitPython versions prior to 6.6_6 contain a vulnerability where submodule names from a cloned repository's .gitmodules file are 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 full Git repository outside the intended working directory when submodules are initialized.
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)