Vim is an open source, command line text editor. Prior to version 9.2.0495, a Vimscript code injection vulnerability exists in s:NetrwBookHistSave() in the netrw plugin (runtime/pack/dist/opt/netrw/autoload/netrw.vim) when serializing browsed directory paths to the history file ~/.vim/.netrwhist. A directory name derived from the filesystem is interpolated into a single-quoted Vimscript string literal without escaping embedded single quotes, allowing a crafted directory name to break out of the string context and execute arbitrary Vimscript, including shell commands via system() and :!, the next time the history file is sourced. This issue has been patched in version 9.2.0495.
The product constructs all or part of a command, data structure, or record using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify how it is parsed or interpreted when it is sent to a downstream component.
| Name | Vendor | Start Version | End Version |
|---|---|---|---|
| Vim | Vim | * | 9.2.0495 (excluding) |
| Red Hat Enterprise Linux 10 | RedHat | vim-2:9.1.083-9.el10_2.7 | * |
| Red Hat Enterprise Linux 8 | RedHat | vim-2:8.0.1763-27.el8_10 | * |
| Red Hat Enterprise Linux 8 | RedHat | vim-2:8.0.1763-27.el8_10 | * |
| Red Hat Enterprise Linux 9 | RedHat | vim-2:8.2.2637-26.el9_8.10 | * |
| Red Hat Enterprise Linux 9 | RedHat | vim-2:8.2.2637-26.el9_8.10 | * |
| Red Hat Insights proxy 1.5 | RedHat | insights-proxy/insights-proxy-container-rhel9:1786433656 | * |
| Vim | Ubuntu | esm-infra-legacy/trusty | * |
| Vim | Ubuntu | esm-infra-legacy/xenial | * |
| Vim | Ubuntu | esm-infra/bionic | * |
| Vim | Ubuntu | esm-infra/focal | * |
| Vim | Ubuntu | jammy | * |
| Vim | Ubuntu | noble | * |
| Vim | Ubuntu | questing | * |
| Vim | Ubuntu | resolute | * |
| Vim | Ubuntu | upstream | * |