☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ WEBSITE ] [ VENDOR STATS ]
CVSS: 7.7 CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N 🐛 CWE-94
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2026-51401

CVE-2026-51401 Vulnerability in MITRE
📅 PUBLISHED: 2026-08-04 00:00 UTC 🔄 UPDATED: 2026-10-02 19:30 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.20%
👁️
0.20% probability
5.0× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1203
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
Country: Global License: Open Source
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS VECTOR BREAKDOWN 7.7
AV: L Attack Vector Local
AC: L Attack Complexity Low
PR: N Privileges Required None
UI: N User Interaction None
S: U Scope Unchanged
C: H Confidentiality High
I: H Integrity High
A: N Availability None
7.7
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2026-51401 is a code injection vulnerability (CWE-94) in Vim Project versions 9.2.0389 and earlier, residing in the vms_fixfilename() function within vim/src/os_vms.c. A local attacker can exploit this flaw to execute arbitrary code on the target system. The vulnerability carries a CVSS v3.1 score of 7.7 (High) with a vector of AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N, indicating high confidentiality and integrity impact but no availability impact. The vulnerability specifically affects Vim builds that include VMS (OpenVMS) support code, though the attack surface extends to any environment where the vulnerable function is reachable.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Technical Analysis

The vulnerability exists in the vms_fixfilename() function located in the source file vim/src/os_vms.c. This function is part of Vim's VMS (Virtual Memory System) compatibility layer, which handles filename normalization and conversion operations when Vim operates within VMS environments or processes VMS-style file paths.

The root cause is an improper neutralization of special elements used in a code injection context (CWE-94). The vms_fixfilename() function processes filename input without adequately sanitizing or validating it against injection payloads. When the function processes attacker-controlled filename data, specially crafted input can cause the function to interpret and execute injected code rather than treating it purely as a filename string.

The attack surface is primarily local, as indicated by the AV:L component of the CVSS vector. An attacker must have local access to the system running the vulnerable Vim version. However, the attack complexity is low (AC:L), meaning the attacker does not need specialized conditions to exploit the flaw successfully. Critically, the privilege requirements are none (PR:N) — the attacker does not need elevated privileges to trigger the vulnerability — and no user interaction is required (UI:N).

The vulnerability is environment-specific to VMS. However, the code path may be reachable on non-VMS systems if Vim is compiled with the VMS compatibility code enabled or if the application processes VMS-formatted filename inputs. The flaw's impact is asymmetric: confidentiality (C:H) and integrity (I:H) are both high, meaning an attacker can read sensitive data and modify system state, but availability (A:N) is unaffected.

Exploitation Scenarios

The exploitation chain for CVE-2026-51401 follows this sequence:

  1. Reconnaissance and Target Identification: An attacker identifies a system running Vim version 9.2.0389 or earlier that either operates on OpenVMS or has been compiled with the os_vms.c module enabled. Target discovery may involve scanning for terminal servers, development workstations, or build systems where Vim is present. The attacker confirms the Vim version by executing vim --version if they already have low-level access, or by fingerprinting the system remotely if Vim is accessible via a network service.

  2. Trigger Vector and Weaponization: The attacker crafts a malicious filename or file path string containing injection payload. Because vms_fixfilename() processes filename data, the payload is embedded in a filename that the victim Vim process will process. Possible entry vectors include:

    • Opening a file with a malicious name via the command line: vim 'malicious_payload_filename'
    • Tricking a user into opening a file over a VMS network share where the filename has been pre-crafted
    • Supplying a malicious filename via Vim's file completion functionality in a directory containing the crafted entry
    • Using Vim's :edit command with attacker-controlled filename arguments
  3. Payload Execution: When vms_fixfilename() processes the malicious filename, the injected code is interpreted by the function's parsing logic. The injection payload executes with the privileges of the Vim process. Since the CVSS vector specifies no privilege requirements and no user interaction, the attacker can trigger execution as long as they can cause Vim to process the filename — for instance, via automated scripts, cron jobs that open files, or build processes that invoke Vim.

  4. Post-Exploitation Impact: Once arbitrary code execution is achieved, the attacker can:

    • Exfiltrate sensitive data readable by the Vim process's user account
    • Modify or corrupt files the user has write access to
    • Establish persistence by modifying Vim configuration files (~/.vimrc) or system startup files
    • Escalate privileges if the vulnerable Vim runs with elevated privileges in certain deployment scenarios (e.g., system maintenance tasks, privileged editors, or administrative scripts)

The attack is entirely local, which means physical or logical access to the target host is required. However, the lack of privilege requirements makes this a viable vector for low-privileged local users targeting other local users or elevated processes.

Impact Assessment

Business Impact

Successful exploitation of CVE-2026-51401 results in arbitrary code execution on the affected host. The business impact is significant due to the following factors:

  • Confidentiality Impact (High): An attacker can read any file accessible to the Vim process user, potentially including source code, credentials in configuration files, business documents, or database connection strings stored on disk.
  • Integrity Impact (High): The attacker can modify or destroy files, inject malicious content into existing files, or alter system configuration — potentially causing data corruption, introducing backdoors, or poisoning build artifacts.
  • Availability Impact (None): The vulnerability does not directly enable denial-of-service conditions, though a determined attacker using arbitrary code execution could still disrupt availability through other means.

Affected Systems

Primary targets are systems running Vim 9.2.0389 or earlier with VMS support compiled in. This includes:

  • Legacy OpenVMS systems where Vim is used as a text editor
  • Cross-platform development environments that compile Vim with all platform modules enabled
  • Systems that process VMS-format file paths or filenames, even if not running OpenVMS

Blast Radius

The blast radius is limited to individual hosts, but within a compromised host, the impact is broad. Since Vim is commonly run by developers, system administrators, and automated processes, a compromised Vim process can expose development credentials, SSH keys, application secrets, and source code. In enterprise environments, a compromised developer workstation can serve as a pivot point for broader network attacks.

CVSS Subscores Analysis

  • Attack Vector: Local (L) — limits exploitation to local users, reducing remote attack surface
  • Attack Complexity: Low (L) — no special conditions required
  • Privileges Required: None (N) — any local user can attempt exploitation
  • User Interaction: None (N) — no victim action required beyond opening or processing a file
  • Scope: Unchanged (U) — compromise is confined to the vulnerable component

Detection Guidance

Sigma Rule

title: Potential Exploitation of CVE-2026-51401 via Malicious Filename Arguments
id: 8e9a76f1-3dc2-4b1e-9f5a-2c8e4d6b1a0f
status: experimental
description: Detects Vim invocation with suspicious filename arguments that may exploit vms_fixfilename() code injection
references:
    - https://nvd.nist.gov/vuln/detail/CVE-2026-51401
tags:
    - attack.t1203
    - cve.2026-51401
logsource:
    category: process_creation
    product: linux
detection:
    selection:
        Image|endswith:
            - '\vim.exe'
            - '/vim'
            - '/vim.basic'
            - '/vim.tiny'
        CommandLine|contains|all:
            - '--'
            - '$'
            - ';'
            - '|'
    filter:
        CommandLine|contains:
            - 'vim --version'
            - 'vim --help'
            - 'vim -V'
    condition: selection and not filter
falsepositives:
    - Legitimate use of shell metacharacters in filenames on VMS systems
    - Development workflows that intentionally pass complex filenames
level: high

YARA Rule

rule CVE_2026_51401_VmsFixFilename_Injection
{
    meta:
        author = "Valtersit Security Research"
        description = "Detects suspicious patterns in filenames or scripts that may exploit vms_fixfilename() code injection"
        cve = "CVE-2026-51401"
        date = "2026"
        severity = "high"
    strings:
        $s1 = "vms_fixfilename" ascii nocase
        $s2 = "os_vms.c" ascii nocase
        $s3 = "$" ascii
        $s4 = ";" ascii
        $s5 = "&" ascii
        $s6 = "`" ascii
        $s7 = "|" ascii
        $s8 = "\x1b" ascii               // ESC character often used in injection payloads
    condition:
        uint16(0) == 0x5A4D and         // MZ header - Windows PE
        (($s1 or $s2) or
         (filesize < 5MB and
          2 of ($s3, $s4, $s5, $s6, $s7, $s8) and
          any of ($s3, $s4, $s5, $s6, $s7, $s8)))
}

Suricata IDS Rule

alert tcp any any -> $HOME_NET 22 ( \
    msg:"CVE-2026-51401 Potential Vim vms_fixfilename() Injection Attempt via SSH"; \
    flow:to_server,established; \
    content:"vim"; nocase; \
    pcre:"/vim\s+[^\s]*[;\|\$&`][^\s]*/i"; \
    metadata:attack_target_server, created_at_2026, cve CVE-2026-51401, deployment Perimeter, \
        former_category POLICY, signature_severity Major, updated_at_2026; \
    sid: 202651401; rev: 1; )

Elastic Detection

process where event.code == "1" and (
    (process.name : "vim*" and
     process.command_line : "*[;|&$`]*") or
    (process.command_line : "*vms_fixfilename*")
)

Splunk SPL Query

index=windows OR index=linux sourcetype=ProcessRollup2 OR sourcetype=syslog
| where match(process_name, "(?i)vim")
| rex field=process_command_line "[;\|\&\$`]+"
| where isnull(phase) OR command_injection_chars="yes"
| stats count by host, user, process_name, process_command_line
| sort - count

Wazuh OSSEC Rule

<group name="local,">
    <rule id="100514" level="12">
        <decoded_as>syslog</decoded_as>
        <match>vim</match>
        <regex>vim\s+[^\s]*[;\|\&\$`]</regex>
        <description>CVE-2026-51401: Potential code injection via Vim vms_fixfilename() function</description>
        <group>attack.t1203,pci_dss_6.5.2,gdpr_IV_35.7.d,</group>
        <mitre>
            <id>T1203</id>
        </mitre>
    </rule>
</group>

Mitigation & Patch Guidance

Current Patch Status

Patch confidence is 0/4 — UNPATCHED. No patch evidence from any tracked source has been identified as of this writing. Affected versions include Vim 9.2.0389 and all earlier releases. Security teams should monitor Vim Project's official channels for a patched release.

Immediate Mitigations (1-2 weeks)

  1. Restrict Vim usage: If Vim is not business-critical, consider temporarily restricting its execution. On Linux systems, use chmod to remove execute permissions or use SELinux/AppArmor policies to constrain Vim's file access.
  2. Limit local access: Enforce least-privilege principles for local user accounts. Ensure users do not have unrestricted write access to directories where they could place malicious filenames that higher-privileged processes might process.
  3. Audit automated Vim invocations: Review cron jobs, build scripts, and automated processes that invoke Vim. Ensure they only open trusted file paths and do not process user-supplied filenames.
  4. Monitor for in-memory indicators: Deploy the detection rules provided above in this report to monitor for exploitation attempts.

Patch/Upgrade Steps

  1. Monitor for patch release: Track Vim's official repository (github.com/vim/vim) and the Vim Project website (vim.org) for a security advisory and patched version. The fix is expected to address the vms_fixfilename() function's input validation.
  2. When available, upgrade: Upgrade to the patched version once released. The patch is expected to add proper input sanitization to the vms_fixfilename() function in src/os_vms.c.
  3. Verify installation: After patching, verify the fix by running vim --version and confirming the build includes the security update.

Long-Term Hardening

  1. Recompile without VMS support: If your environment does not require VMS file compatibility, recompile Vim with the VMS module disabled. Configure the build to exclude os_vms.c by adjusting the build configuration (e.g., removing -DVMS or equivalent flags from the compile step).
  2. Implement code review process: Add security review checkpoints for all file-processing functions, particularly those that handle external input. CWE-94 (code injection) should be explicitly tested for in future development.
  3. Deploy runtime application self-protection (RASP): For production systems, consider deploying RASP solutions that can detect and block code injection attempts at runtime.
  4. Maintain vulnerability management: Enroll all software in a vulnerability management program that automatically flags known CVEs. Subscribe to CVE feeds and vendor security advisories to ensure timely patching of similar vulnerabilities.

References

  1. NVD Entry: https://nvd.nist.gov/vuln/detail/CVE-2026-51401
  2. Vim Project Official Homepage: https://www.vim.org/
  3. Vim GitHub Repository (for monitoring patch releases): https://github.com/vim/vim
  4. MITRE CVE Record: https://www.cve.org/CVERecord?id=CVE-2026-51401

Exploit-in-the-Wild Status: No evidence of exploitation in the wild is documented at this time. CISA has not listed this CVE in the Known Exploited Vulnerabilities (KEV) catalog. The EPSS score is 0.00139, placing it in the 3.7th percentile of exploited CVEs, indicating a low current exploitation probability. Public proof-of-concept material exists, though no public exploit code or Nuclei template has been identified. Security teams should remain vigilant as PoC availability often precedes active exploitation campaigns targeting enterprise environments where affected systems are present.

👁️ SHODAN DORKS (THREAT HUNTING)

What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.

http.title:Vim
http.component:Vim
product:Vim

💣 PoC CODE AVAILABLE

Exploit code for this CVE is tracked in our database. Access poc_code via API Pro.

[ API_PRO ] →
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2026-51401/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.