CVE-2026-100689: Snakemake · GitPython submodule update path traversal can write outside the repository
Affects snakemakeSource GCVE Database
Not known to be exploited · CVSS 8.7 High : upgrade to 9.27.0 soon.
Data as of 26 Oct 2026, 19:32 UTC
- Patch
- Available – fixed in 9.27.0
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:NExploitation evidence
Disclosed: evidence found.
CVE published 26 Sep 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 snakemake to 9.27.0.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
Homebrewsnakemakepkg:brew/snakemakeOther 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 Snakemake version 9.27.0 that applies the necessary containment validation to the .gitmodules 'path' field during submodule updates. Users should upgrade to version 9.27.0 or later to remediate this vulnerability. Until then, avoid invoking submodule updates on non-HEAD commits or using untrusted .gitmodules files. The vendor advisory confirms the availability of an official fix. No additional mitigation steps are required beyond applying the patch.
Description
CVE-2026-100689 is a path traversal vulnerability in GitPython's handling of the .gitmodules 'path' field during submodule updates. The vulnerability allows an attacker to specify a relative path with traversal components (e.g., ../../../tmp/escaped) that can cause files to be written outside the intended repository directory. This occurs because the update() method validates only the submodule name but does not apply the existing path containment guard to the path field before creating directories or checking out submodules. The vulnerability affects Snakemake versions >=5.5.3 and <9.27.0, which bundle GitPython 3.1.61. A fix is available in Snakemake 9.27.0.
References
- github.com/gitpython-developers/GitPython/security/advisories/GHSA-59cr-6r3x-644w (opens in a new tab)
- github.com/gitpython-developers/GitPython/pull/2225 (opens in a new tab)
- github.com/gitpython-developers/GitPython/commit/1ed0ebc2f2e74d979cdc367a4864a7731fdcc093 (opens in a new tab)
- github.com/gitpython-developers/GitPython (opens in a new tab)
- github.com/gitpython-developers/GitPython/releases/tag/3.1.62 (opens in a new tab)