Cyber Resilience

CVE-2026-45130

Memory Safety in Neovim ≤ 0.12.2

Public PoCMemory Safety
Published
08 May 2026
Modified
24 July 2026
Patch / advisory
CVSS Score v3.1 6.6
Click a component to see what it means
Raw vectorCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:H
EPSS Score 0.0025 16th percentile
Risk Priority 39 floored blend · peak EPSS

Summary

CVE-2026-45130 is a medium-severity Heap-based Buffer Overflow (CWE-122) vulnerability in Neovim Neovim. Its CVSS base score is 6.6 (Medium).

Operationally, exploitation aligns with the MITRE ATT&CK technique Malicious File (T1204.002); ranked at the 16th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog; a public proof-of-concept is referenced.

The strongest mitigations our analysis identified map to SI-2 (Flaw Remediation) and AC-6 (Least Privilege) — see the control section below for these in your framework.

EU & UK References

Vulnerability Data

Vim is an open source, command line text editor. Prior to version 9.2.0450, a heap buffer overflow exists in read_compound() in src/spellfile.c when loading a crafted spell file (.spl) with UTF-8 encoding active. An attacker-controlled length field in the spell…

more

file's compound section overflows a 32-bit signed integer multiplication, causing a small buffer to be allocated for a write loop that runs many iterations, overflowing the heap. Because the 'spelllang' option can be set from a modeline, a text file modeline can trigger spell file loading if a malicious .spl file has been planted on the runtimepath. This issue has been patched in version 9.2.0450.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise TechniquesAI

T1204.002 Malicious File Execution
An adversary may rely upon a user opening a malicious file in order to gain execution.
Why these techniques?

Heap buffer overflow in Vim spell file parsing enables RCE when a victim opens a text file containing a malicious modeline that loads an attacker-planted .spl file.

Confidence: MEDIUM · MITRE ATT&CK Enterprise v19.0

CVEs Like This One

CVE-2026-25749Same product: Neovim Neovim
CVE-2026-57454Same product: Vim Vim
CVE-2026-28421Same product: Vim Vim
CVE-2025-22134Same product: Neovim Neovim
CVE-2023-2610Same product: Vim Vim
CVE-2023-1170Same product: Vim Vim
CVE-2023-0288Same product: Vim Vim
CVE-2026-55693Same product: Vim Vim
CVE-2023-0051Same product: Vim Vim
CVE-2026-46483Same product: Vim Vim

Affected Assets

neovim
neovim
≤ 0.12.2
vim
vim
≤ 9.2.0450

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)
  • SI-2 Flaw Remediation
  • CM-7 Least Functionality
  • AC-6 Least Privilege
Detect
Catch it (NIST detect / respond)

Harden
Shrink the surface (DISA STIG)

Validate
Prove the fix (OWASP ASVS)
  • V1.4.1
  • V5.2.6

Mitigating Controls (NIST 800-53 r5) AI

prevent

Directly requires applying the vendor patch (9.2.0450) that eliminates the integer-overflow / heap-write flaw in read_compound().

prevent

Least-functionality setting that disables modeline processing or restricts 'spelllang' prevents automatic loading of attacker-supplied .spl files.

prevent

Running the editor under least-privilege accounts limits the impact of the resulting heap overflow to the user's own files and processes.

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 full match
prevents

Secure-development practices directly require bounds checking and safe memory handling that prevent heap overflows.

ID.RA-01 partial match
prevents

Vulnerability scanning and recording can discover heap-overflow flaws but does not prevent their introduction in code.

PR.PS-02 partial match
prevents

Timely patching removes known heap-overflow instances after they exist.

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.

detects

Security testing in development and acceptance can detect heap overflows before release.

prevents

Secure development lifecycle mandates practices that reduce the likelihood of introducing heap overflows.

prevents

Application security requirements can specify bounds-checking and safe memory APIs that mitigate heap overflows.

prevents

Secure architecture and engineering principles include memory-safety and input-validation controls that address heap overflows.

prevents

Secure coding standards directly prescribe techniques (safe functions, bounds checks) that prevent heap-based buffer overflows.

none

Change management ensures controlled deployment of fixes for discovered heap-overflow vulnerabilities.

References