
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-73073 is an arbitrary Ex command execution vulnerability in Vim's C omni-completion component, affecting all versions prior to 9.2.0845. The StructMembers() function in runtime/autoload/ccomplete.vim constructs a :vimgrep command using insufficiently escaped typeref: or typename: values from a tags file, enabling injection of arbitrary Ex and OS commands. It was reported by researcher Threonine, disclosed on July 23–24, 2026, and fixed in Vim v9.2.0845. The vulnerability carries a CVSS v4.0 base score of 7.1 (High) (GitHub Advisory).
The root cause is improper control of code generation (CWE-94) combined with inclusion of functionality from an untrusted control sphere (CWE-829). The StructMembers() function in ccomplete.vim builds a :vimgrep command by embedding the typeref: or typename: field from a tags file entry, escaping only the pattern delimiter (/) and backslash (\). An attacker can craft a tags file entry whose type value contains an unclosed bracket ([), which causes Vim's pattern-skipping logic to fail; the command parser then falls back to the start of the argument and treats the first unescaped pipe (|) as a command separator, executing whatever follows as an Ex command. The :silent! prefix suppresses any visible error, making the injection stealthy. This is a bypass of the earlier partial fix in patch v9.2.0735 (GHSA-mf92-v4xw-j45x), which only blocked injection via the pattern delimiter character (GitHub Advisory, Fix Commit).
Successful exploitation allows arbitrary Ex command execution and, through commands such as :!, arbitrary operating-system command execution in the context of the user running Vim. An attacker who can supply a malicious tags file (e.g., via a cloned repository or unpacked archive) can achieve full code execution on the victim's workstation, potentially leading to data exfiltration, credential theft, or further lateral movement within the environment. Confidentiality, integrity, and availability of the affected system are all rated High impact (GitHub Advisory).
No public exploit code or in-the-wild exploitation has been reported as of the disclosure date. The EPSS score is approximately 0.149%, indicating low near-term exploitation probability. The vulnerability is not listed in the CISA KEV catalog. Exploitation requires user interaction — specifically, the victim must open a C file from a tree containing the malicious tags file and invoke omni-completion with CTRL-X CTRL-O on a member access whose type is resolved from that tags file. The attack vector is local, and the attack requires the presence of a crafted tags file under attacker control (GitHub Advisory, Feedly).
typeref: or typename: field contains an unclosed bracket followed by a pipe and an Ex command payload, e.g.:myvar\tmain.c\t/^x$/;"\tv\ttyperef:struct:[|call system('malicious_command')|####runtime/defaults.vim).CTRL-X CTRL-O on a member access expression (e.g., myvar.) whose type is not declared in the current buffer, causing Vim to consult the tags file.StructMembers() builds the :vimgrep command with the malicious typeref: value; the unclosed [ causes pattern-skipping to fail, and the | is treated as a command separator, executing the injected Ex/OS command silently (GitHub Advisory, Fix Commit).typeref: or typename: fields with unusual characters such as [, |, or shell command strings; unexpected files created by the Vim process (e.g., sentinel files, scripts, or executables in temp directories).sh, bash, curl, wget, python) immediately following a user's use of omni-completion in a C file.auditd records of execve calls originating from the Vim process.Upgrade Vim to version 9.2.0845 or later, which fixes the vulnerability by matching the typeref:/typename: field literally using Vim's \V (very nomagic) mode, preventing any regex metacharacter in the tag value from affecting pattern parsing (Fix Commit, Vim Release). As a workaround, users can disable filetype plugins (:filetype plugin off) to prevent the C omni-completion function from being installed, or avoid invoking CTRL-X CTRL-O on C files from untrusted project trees. Distribution-specific patches are available for Amazon Linux 2, Amazon Linux 2023, Alpine Linux, and Mageia (AWS AL2023 Advisory, AWS AL2 Advisory).
The vulnerability was reported by researcher Threonine and acknowledged by the Vim project maintainer Christian Brabandt, who coordinated the fix with Yasuhiro Matsumoto. The Yocto Project security mailing list discussed the issue in the context of embedded Linux distributions. No significant broader media coverage or notable social media reactions have been identified beyond standard distribution advisory channels (GitHub Advisory).
Fix availability across major Linux distributions and their releases.
OpenShift
openshift/ose-rhel-coreos-8
RHEL 8
:appstream:vim-2:8.0.1763-32.el8_10.src
RHEL 9
:appstream:vim-2:8.2.2637-26.el9_8.23.src
RHEL 10
vim-2:9.1.083-9.el10_2.22.src
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."