CVE-2019-12735 is a command execution vulnerability in getchar.c affecting Vim before 8.1.1365 and Neovim before 0.3.6. The issue allows remote attackers to execute arbitrary operating system commands through use of the :source! command in a modeline. The published description notes exploitation demonstrated via execute in Vim and assert_fails or nvim_input in Neovim. In practical terms, opening or otherwise processing a crafted file containing a malicious modeline can cause the editor to interpret attacker-controlled content in a way that reaches :source! and results in OS command execution.
Mallory correlates every CVE against your assets, your vendors, and active adversary campaigns. Know which vulnerabilities matter for you, not just which ones are loud.
What it means. What to do now. Patch path, mitigations, and the assume-compromise checklist.
What an attacker gets, and what they’ve been doing with it.
If you can’t patch tonight, do this now.
Patch, then assume compromise.
1 valid exploit after Mallory filtered fakes, detection scripts, and README-only repos (1 hidden).
This repository provides a proof-of-concept (POC) exploit for CVE-2019-12735, a vulnerability in Vim and Neovim that allows arbitrary code execution via modelines in text files. The repository contains several files: - `make_demo3.c`: C program that generates a malicious text file (`demo3.txt`) with embedded escape sequences and Vim commands to trigger the exploit. - `demo1.txt` and `demo2.txt`: Example malicious text files. `demo2.txt` contains a payload that establishes a reverse shell to localhost on port 9999 using netcat and a named pipe (`/tmp/f`). - `modeline_demo.py`: Example of a benign modeline. - `Dockerfile`: Sets up a vulnerable environment with Vim 8.1.1364 for testing. - `README.md`: Explains the vulnerability, usage instructions, and references. The exploit works by tricking a user into opening a malicious text file with Vim or Neovim. When the file is opened, the embedded modeline executes shell commands, potentially giving the attacker a reverse shell on the victim's machine. The endpoints involved are the local file `/tmp/f`, the IP address `127.0.0.1` (used in the POC, but can be changed), and TCP port 9999. The exploit is operational and demonstrates real code execution, but is not weaponized for mass exploitation.
Products and vendors Mallory has correlated with this vulnerability. Open in Mallory to drill down to specific CPE configurations and version ranges.
Vendor-confirmed product mapping. Mallory continuously reconciles this list against your asset inventory.
1 sources tracked across advisories and community write-ups. News coverage will land here when it surfaces.
No news coverage yet. Advisories and community discussion only.
Query your assets running an affected version, and investigate the blast radius.
Every observed campaign linking this CVE to a named adversary.
Malware families riding this exploit, with evidence and IOCs.
YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.
Cross-references every affected SKU, including bundled OEM variants.
Community discussion across Reddit, Mastodon, and other social sources.