kimi-cli · GitPython: arbitrary file read via attacker-controlled branch name in `Head.checkout()` (incomplete fix of
Affects kimi-cliSource GCVE Database
Mentioned vulnerabilities
Not known to be exploited · CVSS 8.7 High : upgrade to 1.50.0 soon.
Data as of 30 Oct 2026, 11:52 UTC
- EPSS
- 0.3% chance of exploitation in 30 days – higher than 32% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
- Patch
- Available – fixed in 1.50.0
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:NExploitation evidence
Disclosed: evidence found.
CVE published 14 Oct 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponized: 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 30 Oct 2026.
What to do
Upgrade kimi-cli to 1.50.0.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
Homebrewkimi-clipkg:brew/kimi-cliOther 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 1.50.0 and later. Users should upgrade to version 1.50.0 or above to remediate this vulnerability. Until patched, avoid cloning untrusted repositories or performing checkouts on branches with attacker-controlled names. The vendor advisory confirms the fix in version 1.50.0. No additional mitigations are specified.
Description
GitPython versions up to 3.1.62 contain a vulnerability in the Head.checkout() method where the branch name, passed as a positional argument, is not properly sanitized. This allows an attacker controlling a repository's default branch name to inject Git command options such as --pathspec-from-file, leading to arbitrary file reads on the host system. The vulnerability arises because the method only guards keyword arguments against unsafe Git options, leaving the positional branch name unchecked. This flaw was incompletely fixed in prior advisories and remains exploitable by simply cloning a malicious repository and checking out its default branch.
References
- github.com/gitpython-developers/GitPython/security/advisories/GHSA-23mf-xhv8-69c2 (opens in a new tab)
- github.com/gitpython-developers/GitPython/pull/2233 (opens in a new tab)
- github.com/gitpython-developers/GitPython/commit/8da65080849a56a2fc9f3e7817bbf0524e8397d5 (opens in a new tab)
- github.com/gitpython-developers/GitPython (opens in a new tab)
- github.com/gitpython-developers/GitPython/releases/tag/3.2.0 (opens in a new tab)