CVE-2026-39881
Vim ≤ 9.2.0316
Raw vector
CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:L/I:H/A:NSummary
CVE-2026-39881 is a medium-severity Code Injection (CWE-94) vulnerability in Vim Vim. Its CVSS base score is 5.0 (Medium).
Operationally, exploitation aligns with the MITRE ATT&CK technique Command and Scripting Interpreter (T1059); ranked at the 47th 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 SA-11 (Developer Testing and Evaluation) and SI-10 (Information Input Validation) — see the control section below for these in your framework.
Deeper analysis AI-assisted summary
Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.
CVE-2026-39881 is a command injection vulnerability (CWE-94) in the netbeans interface of Vim, an open source command-line text editor. Versions of Vim prior to 9.2.0316 are affected, where unsanitized strings in the defineAnnoType and specialKeys protocol messages allow a malicious netbeans server to execute arbitrary Ex commands when a vulnerable Vim instance connects to it. The vulnerability carries a CVSS v3.1 base score of 5.0 (AV:L/AC:H/PR:L/UI:R/S:U/C:L/I:H/A:N), indicating medium severity with high integrity impact potential.
Exploitation requires a local attacker with low privileges to control a malicious netbeans server and trick a user into connecting Vim to it, involving user interaction and high attack complexity. Upon successful connection, the attacker can execute arbitrary Ex commands within the victim's Vim session, potentially leading to low confidentiality impact and high integrity impact, such as modifying files or executing further commands depending on the Ex commands injected.
The vulnerability is fixed in Vim version 9.2.0316, as detailed in the project's GitHub security advisory (GHSA-mr87-rhgv-7pw6), release notes, and the patching commit. Security practitioners should advise users to update to 9.2.0316 or later and avoid connecting to untrusted netbeans servers.
OWASP Top 10 for Web (2025)
EU & UK References
- 🇪🇺 ENISA EUVD: EUVD-2026-20622
Vulnerability Data
Vim is an open source, command line text editor. Prior to 9.2.0316, a command injection vulnerability in Vim's netbeans interface allows a malicious netbeans server to execute arbitrary Ex commands when Vim connects to it, via unsanitized strings in the…
more
defineAnnoType and specialKeys protocol messages. This vulnerability is fixed in 9.2.0316.
- CWE(s)
Related Threats
MITRE ATT&CK Enterprise Techniques
CVEs Like This One
Affected Assets
Mitigating Controls
Control response
—
—
—
V1.3.1
Mitigating Controls (NIST 800-53 r5) AI
Developer testing and evaluation finds code paths that accept and execute externally influenced strings.
Input validation directly stops untrusted data from being used to construct executable code without neutralization.
Least privilege limits the damage an injected code fragment can perform once executed.
Requiring documented secure development standards and tools enforces use of safe code-generation APIs and escaping.
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'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 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.
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.
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.