CVE-2026-59858

NameCVE-2026-59858
DescriptionVim is an open source, command line text editor. Prior to 9.2.0735, the C omni-completion script in runtime/autoload/ccomplete.vim interpolates the typeref: or typename: extension field of a tags entry, without escaping, into a :vimgrep pattern that is run through :execute. Because :vimgrep honors the bar as a command separator, a crafted tag field can close the search pattern and append an arbitrary Ex command; opening a hostile .c file whose project tags file contains such an entry and invoking C omni-completion runs that command as the editing user. This issue is fixed in version 9.2.0735.
SourceCVE (at NVD; CERT, ENISA, LWN, oss-sec, fulldisc, Debian ELTS, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more)

Vulnerable and fixed packages

The table below lists information on source packages.

Source PackageReleaseVersionStatus
vim (PTS)bullseye2:8.2.2434-3+deb11u1vulnerable
bullseye (security)2:8.2.2434-3+deb11u3vulnerable
bookworm2:9.0.1378-2+deb12u2vulnerable
trixie2:9.1.1230-2vulnerable
forky2:9.2.0524-1vulnerable
sid2:9.2.0782-1fixed

The information below is based on the following data on fixed versions.

PackageTypeReleaseFixed VersionUrgencyOriginDebian Bugs
vimsource(unstable)2:9.2.0782-1

Notes

https://github.com/vim/vim/security/advisories/GHSA-mf92-v4xw-j45x
Fixed by: https://github.com/vim/vim/commit/6b611b0d15603c52ebdad17172b0232b4f65704e (v9.2.0735)

Search for package or bug name: Reporting problems