Cyber Resilience

CVE-2025-26603

Memory Safety in Vim ≤ 9.1.1115

Published
18 February 2025
Modified
18 August 2025
Patch / advisory
CVSS Score v3.1 4.2
Click a component to see what it means
Raw vectorCVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:L/I:L/A:L
EPSS Score 0.0023 14th percentile
Risk Priority 35 floored blend · peak EPSS

Summary

CVE-2025-26603 is a medium-severity Use After Free (CWE-416) vulnerability in Vim Vim. Its CVSS base score is 4.2 (Medium).

Operationally, ranked at the 14th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog.

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

EU & UK References

Vulnerability Data

Vim is a greatly improved version of the good old UNIX editor Vi. Vim allows to redirect screen messages using the `:redir` ex command to register, variables and files. It also allows to show the contents of registers using the…

more

`:registers` or `:display` ex command. When redirecting the output of `:display` to a register, Vim will free the register content before storing the new content in the register. Now when redirecting the `:display` command to a register that is being displayed, Vim will free the content while shortly afterwards trying to access it, which leads to a use-after-free. Vim pre 9.1.1115 checks in the ex_display() function, that it does not try to redirect to a register while displaying this register at the same time. However this check is not complete, and so Vim does not check the `+` and `*` registers (which typically donate the X11/clipboard registers, and when a clipboard connection is not possible will fall back to use register 0 instead. In Patch 9.1.1115 Vim will therefore skip outputting to register zero when trying to redirect to the clipboard registers `*` or `+`. Users are advised to upgrade. There are no known workarounds for this vulnerability.

CWE(s)

Related Threats

CVEs Like This One

CVE-2024-47814Same product: Netapp Hci Compute Node
CVE-2024-43374Same product: Netapp Hci Compute Node
CVE-2024-2312Same product: Netapp Hci Compute Node
CVE-2024-56171Same product: Netapp Hci Compute Node
CVE-2023-1838Same product class: NAS / storage appliance
CVE-2023-33250Same product class: NAS / storage appliance
CVE-2023-3390Same product class: NAS / storage appliance
CVE-2023-2236Same product class: NAS / storage appliance
CVE-2023-3141Same product class: NAS / storage appliance
CVE-2023-3111Same product class: NAS / storage appliance

Affected Assets

vim
vim
≤ 9.1.1115
netapp
hci compute node
all versions

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)
Detect
Catch it (NIST detect / respond)

Harden
Shrink the surface (DISA STIG)
  • 3 hardening rules · 3 OS baselines
Validate
Prove the fix (OWASP ASVS)
  • V1.4.3

Mitigating Controls (NIST 800-53 r5) AI

prevent

Directly requires applying the vendor patch (9.1.1115) that completes the ex_display() register check and eliminates the use-after-free.

prevent

Enforces memory-protection mechanisms that block exploitation of the CWE-416 use-after-free when the incomplete clipboard-register check is triggered.

prevent

Limits the privileges under which Vim runs, reducing the impact of any code execution that results from successful use-after-free exploitation.

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

Secure SDLC practices directly incorporate memory-safety tooling and reviews that prevent most use-after-free defects.

ID.RA-01 partial match
prevents

Vulnerability identification processes can discover use-after-free issues via scanning or analysis but do not prevent their introduction.

PR.PS-02 partial match
prevents

Routine patching removes known use-after-free instances after they have been introduced in released software.

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 can detect use-after-free bugs before release.

prevents

Secure SDLC mandates memory-safety practices that reduce use-after-free defects.

prevents

Application security requirements can specify memory-management rules that mitigate use-after-free.

prevents

Secure architecture principles include memory-safety design choices that limit use-after-free exposure.

prevents

Secure coding standards directly prescribe avoidance of use-after-free patterns.

prevents

Change-management processes help ensure memory-safety fixes are deployed consistently.

References