文章总结: Windows版Vim存在高危漏洞CVE-2025-66476,CVSS评分7.8,源于Vim在Windows上查找外部程序时优先选择本地文件夹而非系统安全路径。攻击者可在项目目录植入恶意程序如findstr.exe,当用户执行grep等命令时触发恶意代码执行。受影响版本为9.1.1946及更早,已修复于v9.1.1947,建议Windows用户立即更新以防止任意代码执行。
综合评分: 85
文章分类: 漏洞分析,应用安全,漏洞预警,WEB安全,终端安全
Windows 版 Vim 存在高危漏洞 (CVE-2025-66476),可能导致攻击者从受感染的文件夹中执行任意代码
sec随谈
sec随谈
2025年12月4日 09:18
北京
理想情况下,文本编辑器应该是被动工具——你打开文件,编辑它,然后保存。但 Windows 版 Vim 中一个新出现的高危漏洞却颠覆了这一假设,攻击者可能仅仅因为用户打开了被入侵目录中的文件,就能执行恶意代码。
该漏洞编号为 CVE-2025-66476,CVSS 评分为 7.8(高危)。它利用 Windows 处理命令执行方式中的一个缺陷,诱骗编辑器运行恶意软件而非合法的系统工具。
问题的核心在于 Vim 在 Windows 系统上运行时查找外部程序的顺序。当编辑器与命令行 shell (cmd.exe) 交互时,它会优先选择本地文件夹,而不是系统安全路径。
根据安全公告,“Windows 系统上一个不受控制的搜索路径漏洞允许 Vim 执行放置在当前工作目录中的恶意可执行文件,用于编辑当前文件。”
这对于经常克隆代码库或打开他人项目文件夹的开发者来说,会造成危险的情况。“这使得攻击者能够在项目文件夹中植入一个名称常用的木马程序(例如 findstr.exe),并让 Vim 执行它,而不是执行预期的系统二进制文件。”
当用户执行调用外部工具的常见任务时,此漏洞会被触发。例如,如果开发人员运行 grep 命令在其项目中搜索文本,Vim 通常会调用 findstr.exe。如果该文件夹中存在名为 findstr.exe 的恶意文件,Vim 将在不知情的情况下执行该恶意软件。
该公告警告说,当 Vim 调用诸如 findstr 之类的工具进行 grep 操作、通过 :! 调用外部命令或过滤器,或者使用 compiler/:make 命令时,就会出现此缺陷。
该漏洞可能由以下原因触发:
- 运行 :grep(使用 Windows findstr.exe)
- 使用 :! 执行外部命令
- 运行:make 构建工具
- 使用过滤器命令(!)
由于这种攻击利用了用户对其工作区固有的信任,因此可以绕过传统的安全警告。“以这种方式执行恶意二进制文件,无需提升权限,即可使用运行 Vim 的用户的权限执行任意代码。”
该漏洞由趋势科技零日漏洞计划 (ZDI) 的 Simon Zuckerbraun 报告。Vim 维护者已迅速采取行动,修复了该漏洞。
受影响版本:Windows 版 Vim 9.1.1946 及更早版本。修复版本:Vim v9.1.1947。
强烈建议 Windows 用户立即更新其 Vim 安装,以防止意外执行来自不受信任的项目目录的代码。
参考链接:
https://github.com/vim/vim/security/advisories/GHSA-g77q-xrww-p834
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:sec随谈 sec随谈《Windows 版 Vim 存在高危漏洞 (CVE-2025-66476),可能导致攻击者从受感染的文件夹中执行任意代码》