Skip to main content

Vim CVE-2026-57454

| EUVDEUVD-2026-39441 MEDIUM
Out-of-bounds Read (CWE-125)
2026-06-25 GitHub_M
6.8
CVSS 4.0 · Vendor: GitHub_M
Share

Severity by source

Vendor (GitHub_M) PRIMARY
6.8 MEDIUM
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:A/VC:L/VI:N/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
vuln.today AI
6.1 MEDIUM

Local vector because exploitation requires a crafted file on the local filesystem; user interaction required to open the file; no integrity impact; low confidentiality from bounded heap read; high availability from crash.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Local
Attack Complexity
Low
Privileges Required
None
User Interaction
A
Scope
X

Lifecycle Timeline

3
Patch available
Jun 25, 2026 - 17:02 EUVD
Source Code Evidence Fetched
Jun 25, 2026 - 16:24 vuln.today
Analysis Generated
Jun 25, 2026 - 16:24 vuln.today

DescriptionCVE.org

Vim is an open source, command line text editor. From 9.2.0320 until 9.2.0679, a crafted undo or swap file can store a virtual-text property whose offset and length point outside the line's property data. When Vim restores or displays such a line it converts the offset into a pointer and reads the virtual text without bounds checking, causing an out-of-bounds read that can crash Vim or disclose adjacent heap memory. This vulnerability is fixed in 9.2.0679.

AnalysisAI

Out-of-bounds heap read in Vim 9.2.0320-9.2.0678 allows a crafted undo or swap file to disclose adjacent heap memory or crash the editor when a victim opens it. The flaw resides in the text property (textprop) subsystem: a maliciously encoded virtual-text property with an oversized tp_text_offset is converted directly to a heap pointer without bounds validation in both the undo-restoration path (um_goto_line) and the display path (get_text_props). The CVSS 4.0 score of 6.8 (Medium) reflects local-only exploitation requiring active user interaction; no public exploit is confirmed at time of analysis, though the fix commit includes detailed test scaffolding constituting a near-complete attack blueprint.

Technical ContextAI

Vim's text property feature (textprop) persists per-line annotations - including virtual text rendered beside a line - in undo and swap files as serialized textprop_T structures. Each structure contains a u.tp_text_offset field indicating where the virtual-text string begins within the trailing property-data blob. In affected versions, um_goto_line() (undo restore, src/textprop.c) and get_text_props() (display) converted this offset to a pointer and read tp_len bytes without first verifying that offset + len + 1 ≤ propdata_len. Virtual-text properties are identified by a negative tp_id value; the pre-patch code iterated all such properties without any range check. The fix introduces text_prop_vtext_valid() - a new validation function added to src/textprop.c - that iterates every property with tp_id < 0 and rejects any whose tp_text_offset or tp_len overflows the property data region, emitting error E967 and nulling the buffer. CWE-125 (Out-of-bounds Read) is the root cause: the attacker-controlled offset drives a read beyond the allocated heap region, exposing adjacent heap content or triggering a crash.

RemediationAI

Vendor-released patch: Vim 9.2.0679, available at https://github.com/vim/vim/releases/tag/v9.2.0679; the underlying fix commit is https://github.com/vim/vim/commit/b3faeecc976d3031d7c0675623516ec60c30f949. Users should upgrade through their distribution package manager (apt upgrade vim, dnf upgrade vim, brew upgrade vim, etc.) or build from source at the tagged release. If immediate upgrade is not possible, two targeted compensating controls reduce exposure: first, disable persistent undo by adding set noundofile to ~/.vimrc - this prevents Vim from writing or reading .un~ undo files entirely, directly blocking the primary attack path (trade-off: loss of cross-session undo history); second, suppress swap file loading with set noswapfile or launch Vim with vim -n, preventing the swap-restore path from being reached (trade-off: no crash recovery for interrupted sessions). Neither workaround patches the root cause; they only prevent the vulnerable code path from executing with attacker-controlled input. Avoid opening files in affected Vim versions when the associated undo or swap file originates from an untrusted source (shared repositories, downloaded archives, email attachments).

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-2023-4735 HIGH POC
7.8 Sep 02

Out-of-bounds Write in GitHub repository vim/vim prior to 9.0.1847. Rated high severity (CVSS 7.8), this vulnerability i

CVE-2023-4781 HIGH POC
7.8 Sep 05

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

CVE-2023-4734 HIGH POC
7.8 Sep 02

Integer Overflow or Wraparound in GitHub repository vim/vim prior to 9.0.1846. Rated high severity (CVSS 7.8), this vuln

CVE-2023-4733 HIGH POC
7.8 Sep 04

Use After Free in GitHub repository vim/vim prior to 9.0.1840. Rated high severity (CVSS 7.8), this vulnerability is no

CVE-2023-4750 HIGH POC
7.8 Sep 04

Use After Free in GitHub repository vim/vim prior to 9.0.1857. Rated high severity (CVSS 7.8), this vulnerability is no

CVE-2023-4736 HIGH POC
7.8 Sep 02

Untrusted Search Path in GitHub repository vim/vim prior to 9.0.1833. Rated high severity (CVSS 7.8), this vulnerability

CVE-2023-2610 HIGH POC
7.8 May 09

Integer Overflow or Wraparound in GitHub repository vim/vim prior to 9.0.1532. Rated high severity (CVSS 7.8), this vuln

Vendor StatusVendor

SUSE

Severity: Moderate
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

Share

CVE-2026-57454 vulnerability details – vuln.today

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