CVE-2019-12735 在Vim或Neovim Editor中打开特制文件可能会危及您的Linux系统

By admin

2019-06-11 18:22:23

浏览量399

已赞0

前言“对于Linux用户来说,坏消息是,CVE-2019-12735跟踪到的一个缺陷允许通过欺骗他们在Vim或Neovim编辑器中打开一个特别制作的文件来攻击他们的系统。

安全专家Armin Razmjou最近在Vim和Neovim命令行文本编辑应用程序中发现了一个严重的漏洞(CVE-2019-12735)。

漏洞被跟踪为CVE-2019-12735,属于任意操作系统命令执行漏洞。Vim和Neovim编辑应用程序都预装在Linux发行版中。

8.1.1365之前的Vim和0.3.6之前的Neovim很容易通过modeline打开一个特别设计的文本文件来执行任意代码。专家发布的安全建议写道。

Vim是一个高度可配置的文本编辑器,用于高效地创建和更改任何类型的文本,包括文档和脚本。

Neovim的源代码比Vim少30%,它的目标是在不损害Vim的传统角色和增强用户体验的情况下启用新的应用程序

该漏洞影响Vim编辑器处理“modelines”选项的方式。modeline特性允许用户在文件的开始或结束附近指定自定义编辑器选项(例如/* vim: set textwidth=80 tabstop=8: */)。默认情况下启用该特性,并将其应用于所有文件类型。

modeline中只允许一个选项子集,如果一个表达式包含在选项值中,那么它将在沙箱中执行。

Razmjou解释说,可以构造一个modeline来在沙箱之外执行代码。

“然而,:源!砰的一声命令修饰符)可以用来绕过沙箱。它读取并执行给定文件中的命令,就像手动输入一样,在沙箱离开后运行它们。”专家继续说。

专家证明,通过诱骗受害者使用Vim或Neovim打开一个特别制作的文件,可以在其Linux系统上秘密执行命令,并远程接管它。

Razmjou向公众发布了两个概念验证漏洞,其中一个允许远程攻击者访问反向shell。

这个PoC概述了一种真实的攻击方法,在这种方法中,一旦用户打开文件,就会启动一个反向shell。为了隐藏攻击,打开文件后将立即重写。帖子继续写道。此外,当内容用cat打印时,PoC使用终端转义序列来隐藏modeline。(cat -v显示了实际内容。)

下面的视频PoC攻击:
CVE-2019-12735 Linux flaw

Vim和Neovim开发团队已经发布了安全更新,以解决CVE-2019-12735漏洞、Vim补丁8.1.1365和Neovim补丁(在v0.3.6中发布)。

专家还建议:

禁用modeline特性,

禁用“modelineexpr”以禁用modeline中的表达式,

使用“securemines plugin”,这是Vim modelines的一个安全替代品。

缺陷时间线以下:

通知Vim和Neovim维护者

2019-05-23 Vim补丁发布

发布了Neovim补丁

CVE ID CVE-2019-12735已分配


文章来自:华盟网 原文链接:https://www.77169.com/html/237330.html

发表评论
拖动滑块验证
»
请先 注册/登录 后参与评论

已有0 发布

默认   热门   正序   倒序
    查看更多评论
    已有0次打赏