CVE-2026-59856

NameCVE-2026-59856
DescriptionVim is an open source, command line text editor. Prior to 9.2.0736, the PHP omni-completion script in runtime/autoload/phpcomplete.vim interpolates a class or trait name, taken from the contents of the edited buffer, into a search() pattern that is run via win_execute() without escaping. A name containing a single quote can terminate the search() string argument early, and because the bar is honored as an Ex command separator, the remainder of the name is run as Ex commands; via the :! command this allows arbitrary operating-system command execution when a victim opens a crafted PHP file and invokes omni-completion. This issue is fixed in version 9.2.0736.
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-fh26-8f79-wj97
Fixed by: https://github.com/vim/vim/commit/43afc581a37a35762dd0ef292f038b9dc5680a24 (v9.2.0736)

Search for package or bug name: Reporting problems