CVE-2026-78676: GitPython · Dormant multi-line git-config values are corrupted into live injected directives (e.g
Affects cruftSource GCVE Database
Not known to be exploited · CVSS 9.3 Critical : upgrade to 2.16.0_15 as a priority.
Data as of 26 Oct 2026, 17:43 UTC
- EPSS
- 0.7% chance of exploitation in 30 days – higher than 55% 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:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:NExploitation evidence
Disclosed: evidence found.
CVE published 25 Aug 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 cruft to 2.16.0_15.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
Homebrewcruftpkg:brew/cruftOther 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 patch is available in GitPython version 2.16.0_15 that fixes the unsafe serialization of multi-line config values. Users should upgrade to this version or later to remediate the vulnerability. Until patched, avoid performing config writes via GitPython on repositories with untrusted or potentially malicious multi-line config values. No other mitigations are documented.
Description
GitPython versions from 2.9.0 up to but not including 2.16.0_15 contain a vulnerability in the handling of multi-line git config values. When GitPython reads a multi-line quoted value from disk and later rewrites the config, it corrupts the value by improperly serializing embedded newlines. This causes dormant config values to be interpreted as new live directives, enabling injection of arbitrary configuration keys such as core.hooksPath. Since core.hooksPath controls the location of Git hooks, this can lead to arbitrary code execution during any hook-triggering git operation. A patch is available in version 2.16.0_15 that fixes this issue.
References
- github.com/gitpython-developers/GitPython/security/advisories/GHSA-284h-m62q-gf8w (opens in a new tab)
- nvd.nist.gov/vuln/detail/CVE-2026-78676 (opens in a new tab)
- github.com/gitpython-developers/GitPython (opens in a new tab)
- github.com/pypa/advisory-database/tree/main/vulns/gitpython/PYSEC-2026-3786.yaml (opens in a new tab)
- vulncheck.com/advisories/gitpython-before-remote-code-execution-via-config-injection (opens in a new tab)