Cyber Resilience

CVE-2026-59858

Vim ≤ 9.2.0735

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.0014 4th percentile
Risk Priority 55 floored blend · peak EPSS

Summary

CVE-2026-59858 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 File (T1204.002); ranked at the 4th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog.

The strongest mitigations our analysis identified map to SI-7 (Software, Firmware, and Information Integrity) and CM-7 (Least Functionality) — 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.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.…

more

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.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise TechniquesAI

T1204.002 Malicious File Execution
An adversary may rely upon a user opening a malicious file in order to gain execution.
T1059.003 Windows Command Shell Execution
Adversaries may abuse the Windows command shell for execution.
Why these techniques?

The vulnerability allows arbitrary Ex command execution via a crafted tags file when opening a hostile .c file and triggering C omni-completion. This maps to T1204.002 (Malicious File) for user execution of the malicious file and T1059.003 (Windows Command Shell) for the command interpreter execution, though the actual interpreter is Vim's Ex command language.

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

CVEs Like This One

CVE-2026-57456Same product: Vim Vim
CVE-2026-52860Same product: Vim Vim
CVE-2026-39881Same product: Vim Vim
CVE-2026-59856Same product: Vim Vim
CVE-2026-57454Same product: Vim Vim
CVE-2026-55895Same product: Vim Vim
CVE-2026-47167Same product: Vim Vim
CVE-2026-52858Same product: Vim Vim
CVE-2026-55693Same product: Vim Vim
CVE-2026-47162Same product: Vim Vim

Affected Assets

vim
vim
≤ 9.2.0735

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)
  • SI-7 Software, Firmware, and Information Integrity
  • CM-7 Least Functionality
  • SI-2 Flaw Remediation
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 before execution, directly blocking the use of the malicious tags file that injects an arbitrary Ex command via the unescaped typeref/typename field.

prevent

CM-7 enforces least functionality by disabling or restricting high-risk Vim features such as omni-completion or :vimgrep when processing untrusted tags, limiting the attack surface exploited by CVE-2026-59858.

prevent

SI-2 mandates timely application of security-relevant patches; applying the fix in Vim 9.2.0735 eliminates the interpolation flaw that allows CWE-94 command injection.

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