关键信息总结 漏洞概述 漏洞名称: Vim < 8.1.1365 / Neovim < 0.3.6 - 任意代码执行 CVE编号: CVE-2019-12735 漏洞类型: 本地执行 平台: Linux 发布时间: 2019-06-04 作者: Arminius (@rawsec) 漏洞详情 影响范围: Vim版本低于8.1.1365和Neovim版本低于0.3.6受到此漏洞影响。 漏洞描述: 通过modelines特性可以在打开特制的文本文件时,执行任意代码。 概念验证(PoC): - 创建一个特制的文本文件 ,包含特定的modeline命令。 - 确保modeline选项未被禁用。 - 使用Vim打开该文件,触发漏洞执行命令 。 逆向Shell概念验证: - 利用特制的 文件,当用户打开文件时,启动一个逆向Shell。 - 通过终端转义序列隐藏modeline内容。 漏洞利用条件 Modeline特性: 默认启用,允许在文件的开始或结尾指定编辑器选项。 限制与规避: 仅限于 命令,但 命令可绕过此限制,执行文件中的命令。 解决方案与建议 补丁: - Vim修补提交: 8.1.1365 - Neovim修补提交: v0.3.6 安全配置建议: - 在vimrc中禁用modelines ( ) - 使用第三方插件 或禁用 。 漏洞历史和时间线 发现与报告: 2019-05-22 发布修复补丁: 2019-05-23 (Vim), 2019-05-29 (Neovim) CVE编号分配: 2019-06-05