Skip to main content
CVE-2026-78675VulnerabilityPublished Updated

cruft · GitPython: Arbitrary local file content disclosure via [include] directive in untrusted .gitmodules

Affects cruftSource GCVE Database

0
Authoritative record:CVE-2026-78675· High 8.6

Not known to be exploited · CVSS 8.6 High : upgrade to 2.16.0_15 soon.

Data as of 26 Oct 2026, 17:43 UTC

CVSS 4.0 base score
8.6High
How severe the flaw is on the 0–10 CVSS scale.
EPSS
0.1% chance of exploitation in 30 days – higher than 7% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
Patch
Available – fixed in 2.16.0_15
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/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 cruft to 2.16.0_15.

Affected software

ProductAffectedFixed in
Homebrewcruftpkg:brew/cruftOther threatsAffected
  • >=2.9.0 <2.16.0_15
Fixed in
  • 2.16.0_15

Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.

AI-suggested

Upgrade GitPython to version 2.16.0_15 or later, where the issue is fixed by disabling merge_includes in SubmoduleConfigParser. Until then, avoid processing untrusted repositories with GitPython or patch the library to disable merge_includes in Submodule._config_parser().

Description

GitPython versions from 2.9.0 up to but not including 2.16.0_15 contain a vulnerability where the SubmoduleConfigParser used to parse the .gitmodules file follows [include] directives without restricting file paths. This allows an attacker controlling the .gitmodules file to cause the parser to read arbitrary local files. When such a file lacks git-config section headers, the resulting exception message leaks the first line of the file, leading to local file content disclosure. The issue arises because merge_includes is enabled by default in SubmoduleConfigParser, unlike other config parsers hardened against this risk. A fix is available in version 2.16.0_15.

References

Community reviews

Loading reviews…