Description
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.
Problem types
CWE-94: Improper Control of Generation of Code ('Code Injection')
Product status
References
github.com/vim/vim/security/advisories/GHSA-crm5-rh6j-2c7c
github.com/...ommit/f08ab2f4d7d2947c8dd6c179ae08ee6146a2694b
github.com/vim/vim/releases/tag/v9.2.0495