Windows版Vim存在严重漏洞,攻击者可借此执行任意代码
在Windows版Vim中发现了一个高危安全漏洞,攻击者可利用此漏洞在受影响的系统上运行恶意代码。 该漏洞编号为CVE-2025-66476,影响版本早于9.1.1947的Vim,由于对Windows用户的严重影响,该漏洞被评为高危级别。
| 属性 | 详情 |
|---|---|
| CVE ID | CVE-2025-66476 |
| 受影响产品 | Windows版Vim |
| 严重性 | 高危 |
| CVSS评分 | 7.8 |
该漏洞源于Windows系统上的一个不受控的搜索路径问题。当Vim执行需要外部命令的任务时,它会在检查系统路径之前,先在当前工作目录中搜索可执行文件。这种搜索顺序为攻击者打开了一个危险的缺口,他们可以在用户工作的目录中植入恶意的可执行文件。
攻击原理
攻击场景直接且令人担忧。设想用户从互联网克隆一个恶意仓库,并在Vim中打开其中的一个文件。仓库创建者可能包含了一个带有常见名称(如findstr.exe)的木马化可执行文件。当用户在Vim中运行grep命令时,文本编辑器会搜索findstr.exe,并在当前目录中找到恶意的版本,而不是Windows\System32中的合法系统二进制文件。这导致Vim以运行Vim的用户的相同权限执行攻击者的代码。
触发条件
该漏洞可以通过Vim中多个调用外部工具的功能触发,包括:grep命令、通过:!执行的外部命令、过滤器命令、用于构建工具集成的:make命令,以及任何在Vim脚本中使用system()函数的功能。用户无需特殊的管理员权限就可能成为受害者,只需在受感染的目录中打开文件,攻击就可能发生。
Vim项目将此漏洞评为高危,因为无需提升权限就可能执行任意代码。攻击者可以利用受感染用户账户的权限安装恶意软件、窃取敏感数据、修改文件或执行其他恶意操作。由于无需特殊权限且该漏洞可通过正常的Vim操作触发,使得这一威胁尤为危险。
解决方案
Vim开发团队已在版本9.1.1947中修复了该问题。在Windows上运行Vim的用户应立即升级至此修补版本或更高版本,以消除该漏洞。该漏洞最初由趋势科技零日计划的Simon Zuckerbraun报告,他通过演示Vim如何被诱骗启动Windows计算器(而非合法的系统工具)来展示了此问题。
安全启示
该漏洞突显了应用程序中路径处理的重要性,尤其是在传统上当前目录在搜索路径中具有优先地位的Windows系统上。用户应谨慎打开来自不受信任来源的文件,Windows Vim用户应优先进行此次安全更新,以保护其系统免遭潜在的利用。