CVE-2025-66476复现

admin 2025-12-25 02:47:25 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: CVE-2025-66476复现了Vim在Windows上的不受控搜索路径漏洞。由于Vim调用外部命令时未指定完整路径,Windows会优先执行当前目录下的恶意同名可执行文件。攻击者可在恶意仓库放置木马如findstr.exe,当用户在Vim中运行grep等命令时即触发漏洞,执行恶意程序而非系统工具。文章提供了创建恶意bat并在测试目录下复现的具体步骤。 综合评分: 88 文章分类: 漏洞分析,漏洞POC,终端安全


cover_image

CVE-2025-66476复现

原创

秋风

秋风的安全之路

2025年12月24日 09:14 北京

呃其实我才发现这个漏洞 现在来复现一下有一点晚了 但是网上资料还不多

这是一个不受控搜索路径漏洞(CWE-427),允许 Vim 执行放置在当前工作目录中的恶意可执行文件

当 Vim 执行需要外部命令的任务时,它会先在当前工作目录中搜索可执行文件,然后才检查系统路径。 攻击者可以利用这一点,在项目目录中放置一个伪装成常用工具的恶意程序(例如 findstr.exe)。当用户在 Vim 中运行 :grep 等命令时,Vim 会执行恶意程序而非系统自带的合法程序。

攻击场景

用户从网上克隆一个恶意仓库并用 Vim 打开其中的文件,仓库创建者可能已经包含了一个伪装成 findstr.exe 的木马程序。当用户在 Vim 中运行 grep 命令时,会执行恶意版本而非 Windows\System32 中的合法程序。

https://github.com/vim/vim-win32-installer/releases?page=3

创建

mkdir C:\test_vulncd C:\test_vulnecho test content > test.txt

再创建恶意的bat

echo calc.exe > findstr.bat

或者隐蔽触发

echo @echo off > findstr.batecho start calc.exe >> findstr.batecho C:\Windows\System32\findstr.exe %* >> findstr.bat

然后vim test.txt

执行:grep test *或:!findstr test test.txt

Windows 在执行外部命令时,会按照以下顺序搜索可执行文件

1. 应用程序所在目录2. 当前工作目录 (CWD) ← 问题所在3. Windows System32 目录4. Windows 16位系统目录5. Windows 目录6. PATH 环境变量中的目录

当启用了”安全 DLL 搜索模式”时,当前目录会被移到较后的位置,但这个保护不适用于 cmd.exe 执行外部命令的场景。

Vim 在 Windows 平台调用外部程序时(通过 cmd.exe),没有指定外部程序的完整路径,而是依赖系统的搜索顺序来定位可执行文件。

问题在于:当 Vim 的当前工作目录(CWD)包含与系统工具同名的恶意可执行文件时,Windows 会优先执行当前目录下的恶意文件,而非系统目录中的合法程序。

以下 Vim 操作会调用外部程序,从而可能触发漏洞

与 DLL 劫持原理相同,只是针对的是可执行文件而非 DLL


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:秋风的安全之路 秋风《CVE-2025-66476复现》

评论:0   参与:  2