Vim: Arbitrary Code Execution via C Omni-CompletionGHSA-mf92-v4xw-j45x
Fix: vim/vim@6b611b0GHSA-mf92-v4xw-j45x is a Code Injection vulnerability. A fix is available — see the affected versions and patch details below.
Exploitation Status
No confirmed exploitation observed yet
- A successful exploit gives an attacker total control of the affected component, not partial access.
- CISA’s own triage has not observed active exploitation or public proof-of-concept code for this CVE as of its last assessment.
Exploitation and automatability from CISA’s SSVC triage for GHSA-mf92-v4xw-j45x.
EPSS Exploitation Probability
Probability of exploitation in the next 30 days, from FIRST.org EPSS.
Description
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.
Affected Products
vimvimDetection & mitigation playbook
VulnerabilityDetect
Identify every host running the affected component and compare the installed build against the fixed version below — for source-built or distro-packaged software the version string, not a lockfile, is the source of truth (`dpkg -l`, `rpm -q`, or the binary's own `--version`).
Fix
Upgrade the affected component to the fixed release for GHSA-mf92-v4xw-j45x, or apply your distribution's backported patch — distro builds are often patched at an older version number, so check your vendor's advisory rather than the upstream version alone.
Workarounds
Stop passing untrusted input into the interpreter or shell: call the affected binary with an argument array rather than a composed command string, reject anything outside a strict allowlist of expected values, and run the component under an account that cannot reach beyond the work it legitimately does.
Fixing This On Your OS
If you run this on a Linux distribution, patch through your package manager against the distro's own security advisory below — it tracks the exact backported fix for your release, which can ship on a different timeline (and sometimes a different severity) than the upstream project.
This Moderate flaw in Vim's C omni-completion script allows for arbitrary command execution. Exploitation requires a user to open a specially crafted C source file along with a malicious project tags file and then invoke C omni-completion. This limits the attack vector as it relies on specific user interaction and the…
Users are advised to avoid opening untrusted C source files or project tags files in Vim. Exercising caution and only processing trusted content prevents exploitation.Source: Red Hat security advisory for GHSA-mf92-v4xw-j45x (CC BY 4.0)
| Product | Fixed in | Advisory |
|---|---|---|
| Red Hat Enterprise Linux 10 | vim-2:9.1.083-9.el10_2.12 | RHSA-2026:48650 |
| Red Hat Enterprise Linux 10.0 Extended Update Support | vim-2:9.1.083-5.el10_0.4 | RHSA-2026:55431 |
| Red Hat Enterprise Linux 6 Extended Lifecycle Support - EXTENSION | vim-2:7.4.629-5.el6_10.4 | RHSA-2026:69128 |
| Red Hat Enterprise Linux 7 Extended Lifecycle Support | vim-2:7.4.629-8.el7_9.2 | RHSA-2026:68711 |
| Red Hat Enterprise Linux 8 | vim-2:8.0.1763-31.el8_10 | RHSA-2026:48703 |
| Red Hat Enterprise Linux 9 | vim-2:8.2.2637-26.el9_8.13 | RHSA-2026:47982 |
| Red Hat Enterprise Linux 9.2 Update Services for SAP Solutions | vim-2:8.2.2637-20.el9_2.3 | RHSA-2026:72466 |
| Red Hat Enterprise Linux 9.4 Update Services for SAP Solutions | vim-2:8.2.2637-20.el9_4.4 | RHSA-2026:72465 |
Frequently Asked Questions
Is GHSA-mf92-v4xw-j45x in your dependencies?
Find it across , including transitive dependencies.