Code Injection in Vim - CVE-2026-43961
Published: May 15, 2026
Vulnerability details
The vulnerability allows a local user to execute arbitrary Vimscript and shell commands.
The vulnerability exists due to improper control of generation of code in s:NetrwMarkFile() in the netrw plugin when unmarking files from the global marked-file list. A local user can create a crafted filename containing a double quote and induce the victim to mark and unmark that entry to execute arbitrary Vimscript and shell commands.
User interaction is required, and the issue only triggers on the second mf press for a given entry. Exploitation requires a Unix-like system on which filenames may contain a double quote.
Affected software
SUSE Linux Enterprise Server 15 SP4
SUSE Linux Enterprise Server for SAP Applications 15
SUSE Linux Enterprise Server 15
SUSE Linux Enterprise High Performance Computing 15
SUSE Linux Enterprise High Performance Computing ESPOS 15
SUSE Linux Enterprise High Performance Computing LTSS 15
SUSE Linux Enterprise Micro
SUSE Linux Enterprise Micro for Rancher
SUSE Linux Micro
SUSE Linux Micro Extras
Ubuntu
openEuler
Anolis OS
vim (Ubuntu package)
vim-enhanced
vim-debugsource
vim-debuginfo
vim-common
vim-X11
vim
vim-filesystem
vim-minimal
vim-data
vim-doc
vim-data-common
vim-small
vim-small-debuginfo
gvim-debuginfo
gvim
xxd
xxd-debuginfo
How to mitigate CVE-2026-43961
vim (Ubuntu package) - addressed in versions 2:7.4.052-1ubuntu3.1+esm28, 2:7.4.1689-3ubuntu1.5+esm34, 2:8.0.1453-1ubuntu1.13+esm19, 2:8.1.2269-1ubuntu5.32+esm7, 2:8.2.3995-1ubuntu2.31, 2:9.1.0016-1ubuntu7.15, 2:9.1.0967-1ubuntu6.6, 2:9.1.2141-1ubuntu4.3
vim-enhanced - addressed in versions 9.0-49, 9.0.2092-35
vim-debugsource - addressed in versions 9.0-49, 9.0.2092-35
vim-debuginfo - addressed in versions 9.0-49, 9.0.2092-35
vim-common - addressed in versions 9.0-49, 9.0.2092-35
vim-X11 - addressed in versions 9.0-49, 9.0.2092-35
vim - addressed in versions 9.0-49, 9.0.2092-35
vim-filesystem - addressed in versions 9.0-49, 9.0.2092-35
vim-minimal - addressed in versions 9.0-49, 9.0.2092-35
vim-filesystem - update to 9.0.2092-26
vim-X11 - update to 9.0.2092-26
vim-common - update to 9.0.2092-26
vim-enhanced - update to 9.0.2092-26
vim-minimal - update to 9.0.2092-26
vim-data - update to 9.0.2092-26
vim-doc - update to 9.0.2092-26
vim-data-common - addressed in versions 9.2.0530-slfo.1.1_1.1, 9.2.0530-150000.5.94.1, 9.2.0530-160000.1.1
vim-debugsource - addressed in versions 9.2.0530-slfo.1.1_1.1, 9.2.0530-150000.5.94.1, 9.2.0530-160000.1.1
vim - addressed in versions 9.2.0530-slfo.1.1_1.1, 9.2.0530-150000.5.94.1, 9.2.0530-160000.1.1
vim-debuginfo - addressed in versions 9.2.0530-slfo.1.1_1.1, 9.2.0530-150000.5.94.1, 9.2.0530-160000.1.1
vim-small - addressed in versions 9.2.0530-slfo.1.1_1.1, 9.2.0530-150000.5.94.1, 9.2.0530-160000.1.1
vim-small-debuginfo - addressed in versions 9.2.0530-slfo.1.1_1.1, 9.2.0530-150000.5.94.1, 9.2.0530-160000.1.1
gvim-debuginfo - update to 9.2.0530-150000.5.94.1
gvim - update to 9.2.0530-150000.5.94.1
vim-data - update to 9.2.0530-150000.5.94.1
xxd - update to 9.2.0530-160000.1.1
xxd-debuginfo - update to 9.2.0530-160000.1.1
External References
Related Security Bulletins
- Code Injection in Vim
- SUSE update for vim
- SUSE update for vim
- SUSE update for vim
- SUSE update for vim
- openEuler 24.03 LTS SP3 update for vim
- openEuler 24.03 LTS SP1 update for vim
- SUSE update for vim
- Ubuntu update for vim
- openEuler 20.03 LTS SP4 update for vim
- openEuler 22.03 LTS SP4 update for vim
- Anolis OS update for vim