Skip to main content
CVE-2026-78678VulnerabilityPublished Updated

snakemake · GitPython: Incomplete unsafe_git_revision_options denylist omits --contents/-S, enabling arbitrary file read via

Affects snakemakeSource GCVE Database

0
Authoritative record:CVE-2026-78678· High 7.1

Not known to be exploited · CVSS 7.1 High : upgrade to 9.25.2 soon.

Data as of 26 Oct 2026, 19:27 UTC

CVSS 4.0 base score
7.1High
How severe the flaw is on the 0–10 CVSS scale.
Patch
Available – fixed in 9.25.2
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

Exploitation evidence

  1. Disclosed: evidence found.

    CVE published 25 Aug 2026

  2. Detectable: no evidence on record.

    No public nuclei template indexed

  3. Weaponised: no evidence on record.

    No public exploit code indexed in Metasploit or Exploit-DB

  4. Exploited in the wild: no evidence on record.

    Not in CISA KEV and no source reports exploitation

  5. Observed by OffSeq 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.25.2.

Affected software

ProductAffectedFixed in
Homebrewsnakemakepkg:brew/snakemakeOther threatsAffected
  • >=5.5.3 <9.25.2
Fixed in
  • 9.25.2

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 9.25.2 that addresses this issue by expanding the denylist of unsafe git revision options to include --contents and -S or by adopting an allowlist approach. Users should upgrade to version 9.25.2 or later. Until patched, avoid passing untrusted input to the revision parameter of Repo.blame() or Repo.blame_incremental().

Description

GitPython versions up to 3.1.58 have an incomplete denylist for unsafe git revision options in the Repo.blame() and Repo.blame_incremental() methods. The denylist blocks file-write options but omits the --contents and -S options, which allow reading arbitrary local files. An attacker controlling the revision argument can cause the blame result to include contents of arbitrary files accessible by the host process. This vulnerability allows local file read at the privileges of the application using GitPython.

References

Community reviews

Loading reviews…