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
vim (Ubuntu package)
vim-filesystem
vim
vim-X11
vim-common
vim-debuginfo
vim-debugsource
vim-enhanced
vim-minimal
vim-small
vim-data-common
vim-small-debuginfo
gvim-debuginfo
gvim
vim-data
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-filesystem - addressed in versions 9.0-49, 9.0.2092-35
vim - addressed in versions 9.0-49, 9.0.2092-35
vim-X11 - addressed in versions 9.0-49, 9.0.2092-35
vim-common - addressed in versions 9.0-49, 9.0.2092-35
vim-debuginfo - addressed in versions 9.0-49, 9.0.2092-35
vim-debugsource - addressed in versions 9.0-49, 9.0.2092-35
vim-enhanced - addressed in versions 9.0-49, 9.0.2092-35
vim-minimal - addressed in versions 9.0-49, 9.0.2092-35
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-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-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-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