CVE-2026-41411Vim 9.2.0357之前的版本中存在一个命令注入漏洞。该漏洞源于Vim在处理标签文件时,会对文件名字段进行通配符扩展以解析环境变量。如果文件名字段包含反引号语法,Vim将通过系统shell执行嵌入的命令。攻击者可利用此漏洞,诱导用户在特定环境下执行标签跳转,从而以当前用户权限执行任意系统命令。
该漏洞发生在Vim解析tags文件的过程中。Vim使用tags文件来索引源代码中的位置以便快速导航。在解析标签时,Vim会提取文件名字段并对其进行通配符扩展,旨在支持环境变量(如$HOME)和通配符。然而,该扩展过程调用了系统Shell,且未对输入内容进行充分的过滤。如果文件名字段包含Shell反引号(`),系统会将反引号内的内容作为命令执行。攻击者只需构造一个恶意的tags文件,将其放入项目中,诱导受害者使用Vim打开并尝试跳转标签(例如使用Ctrl-]或:tag命令),即可触发漏洞。由于Vim继承当前用户的权限,攻击者因此可以执行任意代码。