snakemake · GitPython: --no-index bypasses diff unsafe-option protections and enables a blind local-file content oracle
Affects snakemakeSource GCVE Database
Not known to be exploited · CVSS 7.1 High : upgrade to 9.26.0 soon.
Data as of 26 Oct 2026, 19:27 UTC
- Patch
- Available – fixed in 9.26.0
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:NExploitation evidence
Disclosed: evidence found.
CVE published 9 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.26.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 fix is available in snakemake version 9.26.0. Users should upgrade to this version or later to remediate the vulnerability. The suggested remediation is to treat the --no-index option as unsafe in the high-level diff API unless the caller explicitly sets allow_unsafe_options=True. Until patched, embedding applications should avoid forwarding attacker-controlled diff options and paths that could exploit this behavior or ensure that success/error distinctions are not exposed to untrusted users.
Description
GitPython 3.1.59 contains a vulnerability in its high-level diff API where the --no-index option bypasses protections against unsafe git diff options. This allows an attacker who can influence diff options and paths to use a blind local-file content oracle to infer contents of local files accessible to the GitPython process. The issue arises because --no-index treats path arguments as arbitrary filesystem paths, and when combined with the -I/--ignore-matching-lines option, it creates a content-dependent Boolean oracle. This vulnerability was confirmed in version 3.1.59 and is fixed in version 9.26.0 of the affected product, snakemake. Exploitation requires the embedding application to expose success/error distinctions and allow repeated queries with attacker-controlled inputs.
References
- github.com/gitpython-developers/GitPython/security/advisories/GHSA-whh4-5q6c-9v3x (opens in a new tab)
- github.com/gitpython-developers/GitPython/pull/2217 (opens in a new tab)
- github.com/gitpython-developers/GitPython/commit/09f2cf383a992d1af697364569e9f384748c1bd8 (opens in a new tab)
- github.com/gitpython-developers/GitPython (opens in a new tab)
- github.com/gitpython-developers/GitPython/releases/tag/3.1.60 (opens in a new tab)
- github.com/pypa/advisory-database/tree/main/vulns/gitpython/PYSEC-2026-3983.yaml (opens in a new tab)
- vulncheck.com/advisories/gitpython-3.1.59-local-file-content-oracle-via-no-index (opens in a new tab)