Vim is an open source, command line text editor. Prior to 9.2.0735, the C omni-completion script in runtime/autoload/ccomplete.vim interpolates the typeref: or typename: extension field of a tags entry, without escaping, into a :vimgrep pattern that is run through :execute. Because :vimgrep honors the bar as a command separator, a crafted tag field can close the search pattern and append an arbitrary Ex command; opening a hostile .c file whose project tags file contains such an entry and invoking C omni-completion runs that command as the editing user. This issue is fixed in version 9.2.0735.
{
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/59xxx/CVE-2026-59858.json",
"cna_assigner": "GitHub_M",
"cwe_ids": [
"CWE-94"
]
}{
"source": [
"AFFECTED_FIELD",
"CPE_RANGE",
"REFERENCES"
],
"extracted_events": [
{
"introduced": "0"
},
{
"fixed": "9.2.0735"
}
],
"cpe": "cpe:2.3:a:vim:vim:*:*:*:*:*:*:*:*"
}"2026-07-30T14:08:57Z"
[
{
"signature_version": "v1",
"target": {
"file": "src/version.c"
},
"id": "CVE-2026-59858-833e4d05",
"signature_type": "Line",
"deprecated": false,
"digest": {
"threshold": 0.9,
"line_hashes": [
"146200493773228420153804765641940418619",
"165712829457495099619042946380013892152",
"90038438135967868791264908098914243540",
"132591058010960830086310377189117770495"
]
},
"source": "https://github.com/vim/vim/commit/6b611b0d15603c52ebdad17172b0232b4f65704e"
}
]
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-59858.json"