Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-92084-beaver-builder-shortcode-poc — 针对 CVE-2026-92084 的 Docker 验证实验环境和 Python PoC,该漏洞是 Beaver Builder Lite <= 2.11.0.5 中未经身份验证的短代码执行漏洞,并包含已修补的对照组和 nuclei 检测脚本。 | Kitploit
工具/GitHubGitHub/hassham1/cve-2026-92084-beaver-builder-shortcode-poc
漏洞扫描器漏洞分析漏洞利用Web应用程序漏洞利用Web安全实验室与实践
GitHubhassham1/cve-2026-92084-beaver-builder-shortcode-poc

CVE-2026-92084-beaver-builder-shortcode-poc

针对 CVE-2026-92084 的 Docker 验证实验环境和 Python PoC,该漏洞是 Beaver Builder Lite <= 2.11.0.5 中未经身份验证的短代码执行漏洞,并包含已修补的对照组和 nuclei 检测脚本。

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
查看仓库
31个月前尚未审核
分享

CVE-2026-92084 - Beaver Builder 任意短代码执行验证实验环境

用于复现和验证 CVE-2026-92084 的安全研究材料: Beaver Builder (Lite) <= 2.11.0.5 会执行植入到由 Sidebar 模块渲染的 widget 输出中的任意已注册 WordPress 短代码,这是通过构建器的布局级 do_shortcode() 处理实现的。

  • 受影响版本: Beaver Builder Lite <= 2.11.0.5
  • 修复版本: 2.11.0.6(Sidebar 模块设置 'renders_shortcodes' => false;方括号编码机制本身在更早版本中已发布且未更改)
  • CVSS 3.1: 9.1 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N) - CWE-94
  • 认证: 无,但攻击者的评论必须通过站点的评论审核阈值(自动批准或版主操作),之后 Recent Comments widget 才会暴露植入的短代码

仅在您拥有或明确获授权测试的系统上使用。 该 PoC 发布一条评论,其作者名称包含一个实验环境注册的标记短代码。未使用破坏性短代码,且不会向磁盘写入任何内容。

结论

状态:在提供的实验环境中已证明。

Beaver Builder Lite 2.11.0.5(WordPress 7.1.2,带有 Sidebar 模块 + Recent Comments widget 的构建器页面):

comment posted : author name "[cve92084]" on the builder page
result         : rendered page contains the marker shortcode's server-side
                 output "CVE92084-SHORTCODE-FIRED"
                 (executed by the layout-wide do_shortcode() pass)
2.11.0.6       : brackets entity-encoded, marker absent (patched negative
                 control; page shows the literal text [cve92084])

这演示了在服务端执行任意已注册的短代码,其输出嵌入页面中,并向每位访客披露。它并不演示 RCE;影响取决于目标上注册了哪些短代码(文章/元数据泄露、表单、带有副作用的插件提供的短代码)。

根本原因(已对照 2.11.0.6 修复版本验证)

汇聚点。 FLBuilder::render_content() 在回显之前,会将组装好的构建器布局经过一次宽泛的短代码处理:

// classes/class-fl-builder.php:2139, Beaver Builder Lite 2.11.0.5
$content = do_shortcode( $content );

注入点。 Sidebar 模块会将 WordPress 侧边栏的小工具输出原样渲染到该布局中:

// modules/sidebar/includes/frontend.php:4, 2.11.0.5
if ( ! dynamic_sidebar( $settings->sidebar ) ) {

小工具内容是不可信的用户数据——核心的 Recent Comments 小工具会输出 get_comment_author_link(),也就是(未认证的)评论者提供的任意名称。FLBuilder::double_escape_shortcodes() 只会重新加括号处理 [[x]] 转义形式,因此普通的 [cve92084] 会直接通过,并被 do_shortcode() 执行。

修复方案。 2.11.0.5 已经提供了中和机制——FLBuilderModule::$renders_shortcodes = true(class-fl-builder-module.php:143)以及挂接到两个模块渲染过滤器上的 FLBuilder::escape_foreign_module_shortcodes()(class-fl-builder.php:109-110,在 3240 处应用),该函数会对模块输出中任何已注册短代码的括号进行实体编码。Sidebar 模块只是从未选择退出。2.11.0.6 中唯一的功能性改动就是这个退出选项:

// modules/sidebar/sidebar.php, 2.11.0.6
'renders_shortcodes' => false,
// dynamic_sidebar() renders third-party widget output that can contain
// untrusted user data (e.g. a comment author name via the core Recent
// Comments widget); do not run its shortcodes.

利用流程(经验证)

  1. 以任意构建器页面为目标,该页面布局在侧边栏上方包含 Sidebar 模块, 而该侧边栏显示攻击者可控制的挂件文本(实验环境:核心 Recent Comments 挂件;在真实目标上,任何回显用户数据的挂件均可)。
  2. 向 /wp-comments-post.php POST 一条评论,将短代码载荷作为 评论作者名。
  3. 该评论通过站点的审核阈值(实验环境自动批准; 在真实目标上:自动批准或由版主批准),随后 Recent Comments 挂件开始渲染作者名。
  4. 在构建器页面的下一次及之后每一次渲染时,挂件 输出落入布局内部,do_shortcode() 处理过程执行该 载荷。其输出替换作者名,对每位访客可见。

快速开始

要求:主机上安装 Docker(含 Compose v2)、Python 3.10+。

./lab verify

构建 2.11.0.5 实验环境,要求标记触发,然后构建 2.11.0.6 实验环境并要求标记不存在。使用 ./lab reset 移除所有内容。

预期证据

存在漏洞的对照项:

[!!!] SHORTCODE EXECUTION CONFIRMED
  posted  : comment author '[cve92084]' on page 5
  evidence: 'CVE92084-SHORTCODE-FIRED' present in the rendered builder page
  context : ...<a href="https://github.com/hassham1/cve-2026-92084-beaver-builder-shortcode-poc/blob/main/..." class="url">CVE92084-SHORTCODE-FIRED</a>...
RESULT: VULNERABLE CONTROL CONFIRMED

已修补的控件:

[=] shortcode text present but NOT executed: brackets entity-encoded
    (patched >= 2.11.0.6 behavior: escape_foreign_shortcodes).
RESULT: PATCHED CONTROL CONFIRMED

页面中仅出现在所显示注释(原始文本)内的标记不被视为有效证明;该标记必须作为短代码的实际执行输出出现。

手动实验环境生命周期

./lab start vulnerable   # 2.11.0.5 lab on http://127.0.0.1:9488
./lab test               # assert marker fires
./lab start patched      # 2.11.0.6 lab
./lab test               # assert absence
./lab status
./lab reset

通过手动运行 PoC(默认使用回环地址;授权的外部目标需要显式覆盖):

python3 poc/poc_cve_2026_92084.py --url http://127.0.0.1:9488 --post-id 5
python3 poc/poc_cve_2026_92084.py --url https://target.example \
  --post-id 5 --allow-authorized-non-loopback [--insecure]

nuclei 模板(nuclei/cve-2026-92084.yaml)仅用于版本筛查 (readme.txt 稳定标签 <= 2.11.0.5)。该行为链需要提交评论 并完成审批状态转换,这在 nuclei 中难以表达;Python PoC 执行完整流程。

受影响及已测试版本

版本评估
Beaver Builder Lite 2.11.0.5短代码执行已端到端复现
Beaver Builder Lite 2.11.0.6已复现修复后的阴性对照
Beaver Builder Lite <= 2.11.0.4根据公告受影响;未单独测试
Beaver Builder(Pro/Agency)未测试——公告范围仅限 Lite 插件

仓库结构

.
├── .github/workflows/validate.yml
├── .gitignore
├── LICENSE
├── README.md
├── SECURITY.md
├── docker-compose.yml
├── lab
├── nuclei/
│   └── cve-2026-92084.yaml
├── poc/
│   └── poc_cve_2026_92084.py
└── provision/
    └── install.php

未提交:assets/(插件 zip 包)、.lab-state、__pycache__/。

验证边界

声明状态
通过 Sidebar 模块小工具输出执行短代码已证实(2.11.0.5)
执行输出在渲染后的构建器页面上被披露已证实
已修补的阴性对照(2.11.0.6,方括号已编码)已证实
默认配置(实验环境侧边栏 + 近期评论小工具)已证实(即本实验环境拓扑)
其他回显用户数据的小工具(标签云、元信息、自定义)未测试
超出已注册短代码输出范围的影响(RCE)未声明

参考资料

  • Wordfence:CVE-2026-92084
  • NVD 条目
  • 厂商修复:变更集 3713226
  • Beaver Builder 插件

安全边界

仅在你拥有或获得明确授权测试的系统上运行本仓库。实验环境驱动程序会拒绝 vulnerable/patched 之外的变体,PoC 会拒绝非回环目标,除非提供 --allow-authorized-non-loopback,且 Compose 端口绑定到 127.0.0.1。

有关披露处理,请参阅 SECURITY.md。本仓库不包含生产目标、客户数据、访问令牌或来自真实系统的证据。

许可证

MIT - 请参阅 LICENSE。

下载工具