Cyber Resilience

CVE-2026-59856

Vim ≤ 9.2.0736

Public PoC
Published
09 July 2026
Modified
14 July 2026
Patch / advisory
CVSS Score v4 8.4
Click a component to see what it means
Raw vectorCVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
EPSS Score 0.0022 12th percentile
Risk Priority 55 floored blend · peak EPSS

Summary

CVE-2026-59856 is a high-severity Code Injection (CWE-94) vulnerability in Vim Vim. Its CVSS base score is 8.4 (High).

Operationally, exploitation aligns with the MITRE ATT&CK technique Malicious Link (T1204.001); ranked at the 12th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog; a public proof-of-concept is referenced.

The strongest mitigations our analysis identified map to SI-10 (Information Input Validation) and SI-7 (Software, Firmware, and Information Integrity) — see the control section below for these in your framework.

OWASP Top 10 for Web (2025)

EU & UK References

Vulnerability Data

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…

more

win_execute() 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.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise TechniquesAI

T1204.001 Malicious Link Execution
An adversary may rely upon a user clicking a malicious link in order to gain execution.
T1059.004 Unix Shell Execution
Adversaries may abuse Unix shell commands and scripts for execution.
T1203 Exploitation for Client Execution Execution
Adversaries may exploit software vulnerabilities in client applications to execute code.
Why these techniques?

The vulnerability allows arbitrary OS command execution via crafted PHP file content that is processed during omni-completion, directly mapping to user execution of malicious content (T1204.001), Unix shell command execution (T1059.004), and client-side exploitation (T1203).

Confidence: HIGH · MITRE ATT&CK Enterprise v19.0

CVEs Like This One

CVE-2026-39881Same product: Vim Vim
CVE-2026-57456Same product: Vim Vim
CVE-2026-52860Same product: Vim Vim
CVE-2026-47167Same product: Vim Vim
CVE-2026-59858Same product: Vim Vim
CVE-2026-55895Same product: Vim Vim
CVE-2026-42307Same product: Vim Vim
CVE-2026-41411Same product: Vim Vim
CVE-2026-28417Same product: Vim Vim
CVE-2026-33412Same product: Vim Vim

Affected Assets

vim
vim
≤ 9.2.0736

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)
  • SI-7 Software, Firmware, and Information Integrity
  • SI-10 Information Input Validation
  • CM-7 Least Functionality
Detect
Catch it (NIST detect / respond)

Harden
Shrink the surface (DISA STIG)

Validate
Prove the fix (OWASP ASVS)
  • V1.3.1

Mitigating Controls (NIST 800-53 r5) AI

prevent

SI-7 requires integrity verification of software, firmware, and information, directly blocking execution of the malicious PHP file that triggers the unescaped search() injection.

prevent

SI-10 mandates validation of all input, which would sanitize the class/trait name taken from the buffer before it is interpolated into the search() pattern.

prevent

CM-7 restricts the editor to least functionality, limiting the availability of the vulnerable phpcomplete.vim omni-completion feature that executes the injected Ex commands.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.PS-06 mostly match
prevents

PR.PS-06's SDLC practices directly target injection flaws via secure coding and testing (mostly), yet as a single broad outcome it leaves many code-generation specifics unaddressed (partial).

PR.DS-10 none match
prevents

PR.DS-10 protects runtime data confidentiality/integrity but has no bearing on neutralizing externally influenced input during code generation, so neither direction shows any preventive effect.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

prevents

Banning unapproved code samples and unauthenticated web services, combined with secure-coding standards and SAST, prevents the dynamic generation or inclusion of attacker-supplied code.

none

Controls that restrict unauthorized or malicious code from being introduced via external networks or removable media limit opportunities for an attacker to inject and execute arbitrary code.

References