Vim 和 NeoVim 曝出了一个允许任意代码执行的高危漏洞。漏洞编号 CVE-2019-12735,Vim 8.1.1365 和 Neovim 0.3.6 之前的版本都受到影响。
漏洞位于编辑器的 modelines 功能中,该功能允许用户指定窗口大小和其它定制选项,modelines 限制了沙盒内可用的指令,但安全研究员 Armin Razmjou 发现 source! 指令会绕过这一保护。
因此如果用户打开一个恶意文本文件,攻击者可以控制计算机。漏洞利用需要编辑器启用 modelines,部分 Linux 发行版默认启用了该功能,而苹果的 macOS 没有默认启用。