Vulnerability · Published Feb 18, 2025 · Assigned by GitHub_M
CVE-2025-26603heap-use-after-free in function str_to_reg in vim/vim
Medium 4.2
In plain English
A medium-severity use-after-free in vim from vim. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.2% (higher than 15% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official description
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.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| Alpine:v3.22 | vim | 9.1.1164-r0 | ALPINE-CVE-2025-26603 |
| Alpine:v3.23 | vim | 9.1.1164-r0 | ALPINE-CVE-2025-26603 |
| Alpine:v3.24 | vim | 9.1.1164-r0 | ALPINE-CVE-2025-26603 |
| Debian:12 | vim | no fix listed | DEBIAN-CVE-2025-26603 |
| Debian:13 | vim | 2:9.1.1230-1 | DEBIAN-CVE-2025-26603 |
| Debian:14 | vim | 2:9.1.1230-1 | DEBIAN-CVE-2025-26603 |
| Ubuntu:22.04:LTS | vim | 2:8.2.3995-1ubuntu2.24 | USN-7419-1 |
| Ubuntu:22.04:LTS | vim | 2:8.2.3995-1ubuntu2.24 | UBUNTU-CVE-2025-26603 |
| Ubuntu:24.04:LTS | vim | 2:9.1.0016-1ubuntu7.8 | UBUNTU-CVE-2025-26603 |
| Ubuntu:24.04:LTS | vim | 2:9.1.0016-1ubuntu7.8 | USN-7419-1 |
Affected products (as reported)
Weakness: CWE-416 · Vector: CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:L/I:L/A:L