CVE-2019-12735 Command injection in n/a
Remote attackers can execute arbitrary OS commands in Vim or Neovim via malicious modelines in source files.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Local or same network only
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2019-12735?
CVE-2019-12735 is a high-severity command injection vulnerability in Vim Vim, published on 5 Jun 2019. It can only be exploited from the same machine or local network, and only if a user opens a file or follows a link.
Official description
getchar.c in Vim before 8.1.1365 and Neovim before 0.3.6 allows remote attackers to execute arbitrary OS commands via the :source! command in a modeline, as demonstrated by execute in Vim, and assert_fails or nvim_input in Neovim.
Weakness: CWE-78
Which versions are affected by CVE-2019-12735?
It affects 2 products.
Linux distribution packages (40)
vim Red Hat:enterprise_linux:6::client | All versions | 2:7.4.629-5.el6_10.2 |
vim-X11 Red Hat:enterprise_linux:6::client | All versions | 2:7.4.629-5.el6_10.2 |
vim-common Red Hat:enterprise_linux:6::client | All versions | 2:7.4.629-5.el6_10.2 |
vim-debuginfo Red Hat:enterprise_linux:6::client | All versions | 2:7.4.629-5.el6_10.2 |
vim-enhanced Red Hat:enterprise_linux:6::client | All versions | 2:7.4.629-5.el6_10.2 |
vim-filesystem Red Hat:enterprise_linux:6::client | All versions | 2:7.4.629-5.el6_10.2 |
vim-minimal Red Hat:enterprise_linux:6::client | All versions | 2:7.4.629-5.el6_10.2 |
vim Red Hat:enterprise_linux:6::computenode | All versions | 2:7.4.629-5.el6_10.2 |
vim-X11 Red Hat:enterprise_linux:6::computenode | All versions | 2:7.4.629-5.el6_10.2 |
vim-common Red Hat:enterprise_linux:6::computenode | All versions | 2:7.4.629-5.el6_10.2 |
vim-debuginfo Red Hat:enterprise_linux:6::computenode | All versions | 2:7.4.629-5.el6_10.2 |
vim-enhanced Red Hat:enterprise_linux:6::computenode | All versions | 2:7.4.629-5.el6_10.2 |
vim-filesystem Red Hat:enterprise_linux:6::computenode | All versions | 2:7.4.629-5.el6_10.2 |
vim-minimal Red Hat:enterprise_linux:6::computenode | All versions | 2:7.4.629-5.el6_10.2 |
vim Red Hat:enterprise_linux:6::server | All versions | 2:7.4.629-5.el6_10.2 |
vim-X11 Red Hat:enterprise_linux:6::server | All versions | 2:7.4.629-5.el6_10.2 |
vim-common Red Hat:enterprise_linux:6::server | All versions | 2:7.4.629-5.el6_10.2 |
vim-debuginfo Red Hat:enterprise_linux:6::server | All versions | 2:7.4.629-5.el6_10.2 |
vim-enhanced Red Hat:enterprise_linux:6::server | All versions | 2:7.4.629-5.el6_10.2 |
vim-filesystem Red Hat:enterprise_linux:6::server | All versions | 2:7.4.629-5.el6_10.2 |
vim-minimal Red Hat:enterprise_linux:6::server | All versions | 2:7.4.629-5.el6_10.2 |
vim Red Hat:enterprise_linux:6::workstation | All versions | 2:7.4.629-5.el6_10.2 |
vim-X11 Red Hat:enterprise_linux:6::workstation | All versions | 2:7.4.629-5.el6_10.2 |
vim-common Red Hat:enterprise_linux:6::workstation | All versions | 2:7.4.629-5.el6_10.2 |
vim-debuginfo Red Hat:enterprise_linux:6::workstation | All versions | 2:7.4.629-5.el6_10.2 |
vim-enhanced Red Hat:enterprise_linux:6::workstation | All versions | 2:7.4.629-5.el6_10.2 |
vim-filesystem Red Hat:enterprise_linux:6::workstation | All versions | 2:7.4.629-5.el6_10.2 |
vim-minimal Red Hat:enterprise_linux:6::workstation | All versions | 2:7.4.629-5.el6_10.2 |
vim Red Hat:enterprise_linux:7::client | All versions | 2:7.4.160-6.el7_6 |
vim-X11 Red Hat:enterprise_linux:7::client | All versions | 2:7.4.160-6.el7_6 |
vim-common Red Hat:enterprise_linux:7::client | All versions | 2:7.4.160-6.el7_6 |
vim-debuginfo Red Hat:enterprise_linux:7::client | All versions | 2:7.4.160-6.el7_6 |
vim-enhanced Red Hat:enterprise_linux:7::client | All versions | 2:7.4.160-6.el7_6 |
vim-filesystem Red Hat:enterprise_linux:7::client | All versions | 2:7.4.160-6.el7_6 |
vim-minimal Red Hat:enterprise_linux:7::client | All versions | 2:7.4.160-6.el7_6 |
vim Red Hat:enterprise_linux:7::computenode | All versions | 2:7.4.160-6.el7_6 |
vim-X11 Red Hat:enterprise_linux:7::computenode | All versions | 2:7.4.160-6.el7_6 |
vim-common Red Hat:enterprise_linux:7::computenode | All versions | 2:7.4.160-6.el7_6 |
vim-debuginfo Red Hat:enterprise_linux:7::computenode | All versions | 2:7.4.160-6.el7_6 |
vim-enhanced Red Hat:enterprise_linux:7::computenode | All versions | 2:7.4.160-6.el7_6 |
Products include Neovim Neovim, Vim Vim.
How do I fix CVE-2019-12735?
Upgrade to a fixed version.
Upgrade, and pass arguments to programs as a list instead of through a shell. More about Command injection.
Is CVE-2019-12735 being exploited?
There is no known exploitation of CVE-2019-12735 in the wild and no public exploit code.
Public exploit code: 1 Exploit-DB entry and 5 proofs of concept on GitHub.
Other vulnerabilities in Vim Vim
Sources
Also known as ALPINE-CVE-2019-12735, DEBIAN-CVE-2019-12735, DSA-4467-1, DSA-4487-1, GHSA-5x93-92vm-jw5m, MGASA-2020-0082 and 14 more.