CVE-2026-59858 PUBLISHED

Vim: Arbitrary Code Execution via C Omni-Completion

Assigner: GitHub_M
Reserved: 07.07.2026 Published: 09.07.2026 Updated: 10.07.2026

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.

Metrics

CVSS Vector: CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
CVSS Score: 8.4

Product Status

Vendor vim
Product vim
Versions
  • Version < 9.2.0735 is affected

References

Problem Types

  • CWE-94: Improper Control of Generation of Code ('Code Injection') CWE