
Reproduction environment for CVE-2026-44656, a Vim modeline command injection vulnerability. Includes Docker setup, PoC file, and exploit script to demonstrate arbitrary command execution via backtick expansion in the path option.
English|中文
本仓库提供 CVE-2026-44656 的漏洞复现环境。该漏洞源于 Vim 在处理 modeline 中 path 选项的反引号展开表达式时存在缺陷,攻击者可利用 :find 命令的 Tab 补全功能触发任意命令执行。
path 选项的反引号展开)path 设置为包含反引号表达式。当用户通过 :find + Tab 触发路径补全时,表达式被求值,执行任意命令。# 1. 构建 Docker 镜像
docker build -t cve_2026_44656_vim .
# 2. 运行容器
docker run -it cve_2026_44656_vim
# 3. 在容器内打开 PoC 文件
vim poc.txt
# 4. 触发漏洞
# 输入: :find
# 然后按 Tab 键触发路径补全
# 5. 退出 Vim
# 按 ESC,然后输入 :q 回车
# 6. 验证漏洞是否成功
ls sakana.pwn # ./eval.sh后台执行创建文件
Dockerfile - 基于 Debian 构建包含漏洞版本 Vim 的容器poc.txt - 包含恶意 modeline 的 PoC 文件eval.sh - 攻击载荷脚本(创建 sakana.pwn 作为验证)vimrc - 启用 modeline 的 Vim 配置文件vim/ - 存在漏洞的 Vim 源代码在 vimrc 中添加 set nomodeline 禁用 modeline 处理,或避免使用 modeline 打开不可信文件。