Description
Vim is an open source, command line text editor. Prior to version 9.2.0561, the Python omni-completion script in python3complete.vim for Vim with the +python3 interpreter enabled (and the legacy pythoncomplete.vim for builds with the +python interpreter) executes the import and from statements found in the current buffer through Python's import machinery. Because the buffer's working directory is on sys.path, opening a hostile .py file with a sibling Python package and invoking omni-completion runs that package's top-level code as the editing user. This issue has been patched in version 9.2.0561.
Problem types
CWE-94: Improper Control of Generation of Code ('Code Injection')
CWE-95: Improper Neutralization of Directives in Dynamically Evaluated Code ('Eval Injection')
CWE-829: Inclusion of Functionality from Untrusted Control Sphere
Product status
References
github.com/vim/vim/security/advisories/GHSA-52mc-rq6p-rc7c
github.com/...ommit/4b850457e12e1a678dd209f2868154f7553cbf8d
github.com/vim/vim/releases/tag/v9.2.0561