Heap-based buffer overflow in Vim - CVE-2026-28420

 

Heap-based buffer overflow in Vim - CVE-2026-28420

Published: March 3, 2026


Vulnerability identifier: #VU123426
CSH Severity: Medium
CVSS v4: 7.4 [CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:A/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N]
CVE-ID: CVE-2026-28420
CWE-ID: CWE-122
Exploitation vector: Remote access
Exploit availability: No public exploit available

Vulnerability details

The vulnerability allows a remote attacker to execute arbitrary code on the target system.

The vulnerability exists due to a boundary error within the handle_pushline() function in src/terminal.c processing maximum combining characters from Unicode supplementary planes. A remote attacker can trick the victim into copying a specially crafted string into the :terminal buffer, trigger a heap-based buffer overflow and execute arbitrary code on the target system.

Successful exploitation of this vulnerability may result in complete compromise of vulnerable system.


Affected software

Vim
IBM Cloud Pak for Data System
Red Hat Enterprise Linux for x86_64
Red Hat Enterprise Linux for IBM z Systems
Red Hat Enterprise Linux for Power, little endian
Red Hat Enterprise Linux for ARM 64
Anolis OS
Ubuntu
openEuler
Fedora
vim (Ubuntu package)
vim (Red Hat package)
vim-filesystem
vim-minimal
vim-enhanced
vim-common
vim-X11
vim-data
vim-doc
vim
vim-debugsource
vim-debuginfo

How to mitigate CVE-2026-28420

Install updates from vendor's website.

Vim - update to 9.2.0076
vim (Ubuntu package) - addressed in versions 2:7.4.052-1ubuntu3.1+esm23, 2:7.4.1689-3ubuntu1.5+esm29, 2:8.0.1453-1ubuntu1.13+esm14, 2:8.1.2269-1ubuntu5.32+esm2, 2:8.2.3995-1ubuntu2.26, 2:9.1.0016-1ubuntu7.10, 2:9.1.0967-1ubuntu6.1
vim (Red Hat package) - addressed in versions 8.0.1763-31.el8_10.7, 8.2.2637-26.el9_8.21, 9.1.083-9.el10_2.20
vim-filesystem - addressed in versions 8.0.1763-31.0.1, 9.0.2092-10
vim-minimal - addressed in versions 8.0.1763-31.0.1, 9.0.2092-10
vim-enhanced - addressed in versions 8.0.1763-31.0.1, 9.0.2092-10
vim-common - addressed in versions 8.0.1763-31.0.1, 9.0.2092-10
vim-X11 - addressed in versions 8.0.1763-31.0.1, 9.0.2092-10
vim-data - update to 9.0.2092-10
vim-doc - update to 9.0.2092-10
vim - update to 9.0.2092-26
vim-filesystem - update to 9.0.2092-26
vim-minimal - update to 9.0.2092-26
vim-enhanced - update to 9.0.2092-26
vim-debugsource - update to 9.0.2092-26
vim-debuginfo - update to 9.0.2092-26
vim-common - update to 9.0.2092-26
vim-X11 - update to 9.0.2092-26
vim - addressed in versions 9.2.112-1.fc43, 9.2.112-1.fc44, 9.2.112-2.fc42, 9.2.112-2.fc43, 9.2.112-2.fc44, 9.2.148-1.fc42, 9.2.148-1.fc44

External References

Related Security Bulletins