Code Injection in Vim - CVE-2026-59858
Published: June 29, 2026 / Updated: July 15, 2026
Vulnerability details
The vulnerability allows a local user to execute arbitrary code.
The vulnerability exists due to improper neutralization of special elements in the C omni-completion script in runtime/autoload/ccomplete.vim when processing type information from a tags entry during omni-completion. A local user can supply a crafted tags entry and trick the victim into invoking C omni-completion on a hostile .c file to execute arbitrary code.
User interaction is required to open a hostile .c file and invoke omni-completion on a structure-member access, and the issue is reachable only when filetype plugins are enabled and a reachable tags file is used.
Affected software
SUSE Linux Enterprise Server 15 SP6
SUSE Linux Enterprise Server 15 SP5
SUSE Linux Enterprise Server 15 SP4
SUSE Linux Enterprise Server for SAP Applications 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 Server 15
SUSE Linux Enterprise Desktop 15
SUSE Linux Enterprise Real Time 15
SUSE Linux Enterprise Micro for Rancher
SUSE Linux Enterprise Micro
Anolis OS
Red Hat Enterprise Linux for Power, little endian
Red Hat Enterprise Linux for x86_64
Red Hat Enterprise Linux for IBM z Systems
Red Hat Enterprise Linux for ARM 64
Ubuntu
Desktop Applications Module
Basesystem Module
openSUSE Leap
openEuler
vim (Ubuntu package)
vim (Red Hat package)
vim-filesystem
vim-X11
vim-common
vim-enhanced
vim-minimal
vim-debuginfo
vim-debugsource
vim
vim-data
vim-small-debuginfo
vim-small
gvim-debuginfo
gvim
vim-data-common
How to mitigate CVE-2026-59858
vim (Ubuntu package) - addressed in versions 2:7.4.052-1ubuntu3.1+esm31, 2:7.4.1689-3ubuntu1.5+esm37, 2:8.0.1453-1ubuntu1.13+esm22, 2:8.1.2269-1ubuntu5.32+esm10, 2:8.2.3995-1ubuntu2.34, 2:9.1.0016-1ubuntu7.18, 2:9.1.2141-1ubuntu4.7
vim (Red Hat package) - addressed in versions 8.0.1763-31.el8_10, 8.2.2637-26.el9_8.13
vim-filesystem - update to 8.0.1763-31.0.1
vim-X11 - update to 8.0.1763-31.0.1
vim-common - update to 8.0.1763-31.0.1
vim-enhanced - update to 8.0.1763-31.0.1
vim-minimal - update to 8.0.1763-31.0.1
vim-common - update to 9.0-53
vim-debuginfo - update to 9.0-53
vim-debugsource - update to 9.0-53
vim-enhanced - update to 9.0-53
vim-minimal - update to 9.0-53
vim-filesystem - update to 9.0-53
vim-X11 - update to 9.0-53
vim - update to 9.0-53
vim-data - addressed in versions 9.2.0780-150000.5.99.1, 9.2.0780-150500.20.61.2
vim-small-debuginfo - addressed in versions 9.2.0780-150000.5.99.1, 9.2.0780-150500.20.61.2
vim-debuginfo - addressed in versions 9.2.0780-150000.5.99.1, 9.2.0780-150500.20.61.2
vim-debugsource - addressed in versions 9.2.0780-150000.5.99.1, 9.2.0780-150500.20.61.2
vim-small - addressed in versions 9.2.0780-150000.5.99.1, 9.2.0780-150500.20.61.2
gvim-debuginfo - addressed in versions 9.2.0780-150000.5.99.1, 9.2.0780-150500.20.61.2
gvim - addressed in versions 9.2.0780-150000.5.99.1, 9.2.0780-150500.20.61.2
vim-data-common - addressed in versions 9.2.0780-150000.5.99.1, 9.2.0780-150500.20.61.2
vim - addressed in versions 9.2.0780-150000.5.99.1, 9.2.0780-150500.20.61.2