CryingN/CVE-2026-44656
GitHub: CryingN/CVE-2026-44656
提供 CVE-2026-44656 Vim Modeline path 选项命令注入漏洞的完整 Docker 复现环境,帮助安全研究人员在隔离条件下复现和验证该漏洞的攻击过程。
Stars: 0 | Forks: 0
# CVE-2026-44656 - Vim Modeline path 选项命令注入漏洞
English|[中文](./README_CN.md)
本仓库提供了 **CVE-2026-44656** 的复现环境。该漏洞源于 Vim 在处理 modeline 中 `path` 选项的反引号扩展表达式时存在的缺陷。攻击者可以利用 `:find` 命令的 Tab 补全功能触发任意命令执行。
## 漏洞概述
- **CVE ID**:CVE-2026-44656
- **影响范围**:Vim(modeline + `path` 选项的反引号扩展)
- **攻击向量**:构造一个包含恶意 modeline 的文件,将 `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 并按 Enter
# 6. 验证漏洞是否被成功利用
ls sakana.pwn # ./eval.sh creates the file in the background
```
## 文件说明
- `Dockerfile` - 构建包含受影响 Vim 版本的基于 Debian 的容器
- `poc.txt` - 包含恶意 modeline 的 PoC 文件
- `eval.sh` - 攻击载荷脚本(创建 `sakana.pwn` 作为验证)
- `vimrc` - 启用 modeline 的 Vim 配置文件
- `vim/` - 受影响版本的 Vim 源代码
## 缓解措施
在您的 `vimrc` 中添加 `set nomodeline` 以禁用 modeline 处理,或者避免在启用 modeline 的情况下打开不受信任的文件。
标签:Cutter, CVE-2026-44656, Debian, Docker, EXP, PoC, Vim, 代码执行, 任意命令执行, 反引号扩展, 命令注入, 安全漏洞, 安全防御评估, 开放策略代理, 文本编辑器, 暴力破解, 模型ines, 漏洞分析, 漏洞复现, 编辑器安全, 网络安全, 请求拦截, 路径探测, 路径选项, 隐私保护