Skip to main content
VulnerabilityPublished Updated

CVE-2026-87817: GitPython · Repository content can impersonate the git directory, leading to arbitrary code execution

Affects mistral-vibeSource GCVE Database

0
Compare
Authoritative record:CVE-2026-87817· High 8.7

Not known to be exploited · CVSS 8.7 High : upgrade to 2.26.0 soon.

Data as of 30 Oct 2026, 08:29 UTC

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

Exploitation evidence

  1. Disclosed: evidence found.

    CVE published 9 Sep 2026

  2. Detectable: no evidence on record.

    No public nuclei template indexed

  3. Weaponized: 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 29 Oct 2026.

What to do

Upgrade mistral-vibe to 2.26.0.

Affected software

ProductAffectedFixed in
Homebrewmistral-vibepkg:brew/mistral-vibeOther threatsAffected
  • >=2.1.0 <2.26.0
Fixed in
  • 2.26.0

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 GitPython version 2.26.0 that corrects the git directory resolution order and validates paths and HEAD contents properly. Users should upgrade to version 2.26.0 or later. The vendor's remediation includes testing for the real .git directory before other candidate paths, resolving hook paths through the correct common_dir, validating HEAD contents, and disabling merge_includes in config readers. No other immediate mitigation is required once patched.

Description

GitPython version 3.1.59 and versions >=2.1.0 <2.26.0 contain a vulnerability where the library incorrectly resolves the git directory path. This allows attacker-controlled repository content to impersonate the .git directory, causing GitPython to treat attacker-controlled files as internal git files, including executable hooks. This leads to arbitrary code execution when the victim performs a commit using GitPython's index.commit() method. Additionally, attackers can read sensitive files outside the repository and write config files to arbitrary locations. The issue arises because GitPython tests for git directory indicators in an order that considers the real .git directory last, allowing tracked files named gitdir, commondir, and HEAD to mislead the resolution. A fix is available in version 2.26.0.

References

Community reviews

Loading reviews…