CVE-2026-33412Vim是一款广泛使用的开源命令行文本编辑器。在9.2.0202版本之前,该软件在Unix-like系统上的glob()函数中存在命令注入漏洞。攻击者可以通过在传递给glob()的模式参数中包含换行符(\n),从而欺骗用户执行任意shell命令。该漏洞的利用取决于用户的'shell'配置,目前已在9.2.0202版本中完成修复。
该漏洞源于Vim的glob()函数在Unix-like系统上处理文件名模式匹配时的安全缺陷。glob()函数通常用于展开文件路径,它会调用系统配置的shell(如bash或sh)来执行通配符扩展。漏洞的关键在于,glob()没有对传入的pattern参数进行充分的边界检查。如果pattern中包含换行符(\n),该字符会被shell解释为命令分隔符。因此,攻击者可以构造包含恶意命令的输入,当用户在受影响版本的Vim中处理特定文件或脚本时,换行符后的命令将被shell执行。此漏洞的触发高度依赖于Vim配置中的'shell'选项,只有当shell支持命令换行解析且用户交互触发了glob()调用时,攻击链才能完成。利用该漏洞可能导致本地权限提升或执行任意代码。