Linux users, beware!
如果您最近没有更新Linux操作系统,尤其是命令行文本编辑器实用程序,甚至不要尝试使用Vim或Neovim查看文件的内容。 安全研究员Armin Razmjou最近在Vim和Neovim中发现了一个高严重性的任意操作系统命令执行漏洞(CVE-2019-12735)- 两个最流行和最强大的命令行文本编辑应用程序,预装了大多数基于Linux的操作系统。 在Linux系统上,Vim编辑器允许用户创建,查看或编辑任何文件,包括文本,编程脚本和文档。
由于Neovim只是Vim的扩展分叉版本,具有更好的用户体验,插件和GUI,因此代码执行漏洞也存在于其中。
Razmjou 发现了Vim编辑器处理“模型”的方式中的一个缺陷,默认情况下,该功能可以自动查找并应用文档创建者提到的一组自定义首选项,这些首选项位于文档的起始行和结束行附近。
虽然编辑器只允许模型中的一部分选项(出于安全原因),并且如果它包含不安全的表达式,则使用沙盒保护,但Razmjou透露使用“:source!” 命令(使用bang [!]修饰符)可用于绕过沙箱。 因此,只需使用Vim或Neovim打开一个看起来无辜的特制文件,攻击者就可以在Linux系统上秘密执行命令并对其进行远程控制。
研究人员还向公众发布了两个概念验证漏洞,其中一个演示了一个真实的攻击场景,其中远程攻击者在他/她打开文件后立即从受害者系统获得对反向shell的访问权限。 Vim的维护者(补丁8.1.1365)和Neovim(在v0.3.6中发布)已经发布了两个实用程序的更新以解决问题,用户应该尽快安装。 除此之外,研究人员还建议用户: