CVE-2025-26603
heap-use-after-free in function str_to_reg in vim/vim
Severity Score
Exploit Likelihood
Affected Versions
Public Exploits
0Exploited in Wild
-Decision
Descriptions
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 `: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.
CVSS Scores
SSVC
- Decision:Track
Timeline
- 2025-02-12 CVE Reserved
- 2025-02-18 CVE Published
- 2025-02-19 CVE Updated
- 2025-02-19 EPSS Updated
- ---------- Exploited in Wild
- ---------- KEV Due Date
- ---------- First Exploit
CWE
- CWE-416: Use After Free
CAPEC
References (2)
URL | Tag | Source |
---|---|---|
https://github.com/vim/vim/commit/c0f0e2380e5954f4a52a131bf6b8 | X_refsource_misc | |
https://github.com/vim/vim/security/advisories/GHSA-63p5-mwg2-787v | X_refsource_confirm |
URL | Date | SRC |
---|
URL | Date | SRC |
---|
URL | Date | SRC |
---|
Affected Vendors, Products, and Versions
Vendor | Product | Version | Other | Status | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Vendor | Product | Version | Other | Status | <-- --> | Vendor | Product | Version | Other | Status |
Vim Search vendor "Vim" | Vim Search vendor "Vim" for product "Vim" | < 9.1.1115 Search vendor "Vim" for product "Vim" and version " < 9.1.1115" | en |
Affected
|