CVE-2026-59856: Vim: Arbitrary Code Execution via PHP Omni-Completion
Last updated 13 July 2026
Other sources
Vim is an open source, command line text editor. Prior to 9.2.0736, the PHP omni-completion script in runtime/autoload/phpcomplete.vim interpolates a class or trait name, taken from the contents of the edited buffer, into a search() pattern that is run via winexecute() without escaping. A name containing a single quote can terminate the search() string argument early, and because the bar is honored as an Ex command separator, the remainder of the name is run as Ex commands; via the :! command this allows arbitrary operating-system command execution when a victim opens a crafted PHP file and invokes omni-completion. This issue is fixed in version 9.2.0736.
— MITRE
Vim: Arbitrary Code Execution via PHP Omni-Completion
— Microsoft
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 9.2.0782-1 - Upgrade
Upgrade
debian/vimto a version that resolves this vulnerability.Fixed in 2:9.2.0782-1 - Upgrade
Upgrade
Vim (PHP omni-completion)to a version that resolves this vulnerability.Fixed in 9.2.0736
Event History
Frequently Asked Questions
What is the severity of CVE-2026-59856?
The severity of CVE-2026-59856 is high, with a CVSS score of 8.4.
What systems are affected by CVE-2026-59856?
CVE-2026-59856 affects Vim versions prior to 9.2.0736.
How can CVE-2026-59856 be exploited?
CVE-2026-59856 can be exploited for arbitrary code execution via the PHP omni-completion feature in Vim.
How do I fix CVE-2026-59856?
To fix CVE-2026-59856, upgrade to Vim version 9.2.0736 or later.
What type of vulnerability is CVE-2026-59856?
CVE-2026-59856 is classified as a Code Injection vulnerability.