Skip to main content
VulnerabilityPublished Updated

CVE-2026-114145: Cruft · GitPython validates a submodule's ".git" path only after cloning into it (RCE)

Affects cruftSource GCVE Database

0
Authoritative record:CVE-2026-114145· High 7.5

Not known to be exploited · CVSS 7.5 High : upgrade to 2.16.0_17 soon.

Data as of 26 Oct 2026, 17:43 UTC

CVSS 3.1 base score
7.5High
How severe the flaw is on the 0–10 CVSS scale.
EPSS
0.3% chance of exploitation in 30 days – higher than 28% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
Patch
Available – fixed in 2.16.0_17
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H

Exploitation evidence

  1. Disclosed: evidence found.

    CVE published 21 Oct 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_17.

Affected software

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

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 version 2.16.0_17 which fixes the issue by ensuring proper validation before cloning and preventing planting of malicious hooks. Users and applications should upgrade to this fixed version. For versions 3.2.0 and later, although a ValueError is raised on invalid paths, the hook is still planted before the error, so relying on catching this exception is insufficient. Therefore, upgrading to the fixed version is necessary to fully mitigate the risk. Avoid passing untrusted or attacker-influenced paths to create_submodule. No other mitigations are documented.

Description

A vulnerability in the Cruft library's GitPython integration allows an attacker to execute arbitrary code by planting a malicious Git hook. The create_submodule function clones a submodule into the repository's .git directory before validating the path. Specifically, a path like ".git/hooks" is accepted initially, causing the submodule to be cloned directly into the live hooks directory. This results in an attacker-controlled executable hook file (e.g., post-checkout) being placed and executed on subsequent Git operations. Versions 3.1.x silently allow this, while 3.2.0 and later raise a ValueError after cloning, but do not remove the planted hook, so the risk remains. The vulnerability affects versions from 3.1.59 through 3.2.0 plus subsequent commits. A fix is available in version 2.16.0_17.

References

Community reviews

Loading reviews…