Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-92084-beaver-builder-shortcode-poc — CVE-2026-92084(Beaver Builder Lite <= 2.11.0.5 における未認証のショートコード実行脆弱性)のためのDocker検証ラボとPython PoC。修正済みのコントロールとnucleiスクリーンを備えています。 | Kitploit
ツール/GitHubGitHub/hassham1/cve-2026-92084-beaver-builder-shortcode-poc
脆弱性スキャナー脆弱性分析エクスプロイトウェブアプリケーション悪用ウェブセキュリティラボと実践
GitHubhassham1/cve-2026-92084-beaver-builder-shortcode-poc

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

CVE-2026-92084(Beaver Builder Lite <= 2.11.0.5 における未認証のショートコード実行脆弱性)のためのDocker検証ラボとPython PoC。修正済みのコントロールとnucleiスクリーンを備えています。

リポジトリを見る
1ヶ月前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

CVE-2026-92084 - Beaver Builder 任意ショートコード実行検証ラボ

CVE-2026-92084 を再現・検証するためのセキュリティ研究資料: Beaver Builder (Lite) <= 2.11.0.5 は、Sidebar モジュールによってレンダリングされる ウィジェット出力に埋め込まれた任意の登録済み 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 ウィジェットが 埋め込まれたショートコードを公開する前に、サイトのコメント承認しきい値 (自動承認またはモデレーターの操作) を通過する必要がある

自身が所有するシステム、または明示的にテストを許可されたシステムでのみ使用すること。 PoC は、投稿者名にラボ登録済みのマーカーショートコードを含むコメントを 1 件投稿する。 破壊的なショートコードは使用せず、ディスクへの書き込みも行わない。

判定

ステータス: 提供されたラボで実証済み。

Beaver Builder Lite 2.11.0.5 (WordPress 7.1.2、Sidebar モジュール + Recent Comments ウィジェットを含むビルダーページ):

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. レイアウトにサイドバーモジュールが含まれ、そのサイドバーが攻撃者が制御可能なウィジェットテキストを表示しているビルダーページを対象とする(ラボ環境:コアのRecent Commentsウィジェット。実際のターゲットでは、ユーザーデータをエコーする任意のウィジェット)。
  2. ショートコードペイロードをコメント投稿者名として、/wp-comments-post.php にコメントをPOSTする。
  3. コメントがサイトの承認しきい値を通過すると(ラボでは自動承認。実際のターゲットでは自動承認またはモデレーターによる承認)、Recent Commentsウィジェットが投稿者名をレンダリングし始める。
  4. ビルダーページの次回以降のレンダリングごとに、ウィジェットの出力がレイアウト内に配置され、do_shortcode() パスがペイロードを実行する。その出力は投稿者名を置き換え、すべての訪問者に表示される。

クイックスタート

要件:Compose v2対応のDocker、ホスト上の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、ブラケットをエンコード)実証済み
デフォルト設定(ラボのサイドバー + Recent Commentsウィジェット)実証済み(これがラボのトポロジー)
ユーザーデータをエコーする他のウィジェット(タグクラウド、メタ、カスタム)未検証
登録済みショートコード出力を超える影響(RCE)主張せず

参考文献

  • Wordfence: CVE-2026-92084
  • NVDエントリ
  • ベンダー修正: changeset 3713226
  • Beaver Builderプラグイン

安全上の境界

このリポジトリは、あなたが所有するシステム、または明示的にテストを許可された システム上でのみ実行してください。ラボドライバーはvulnerable/patched以外の バリアントを拒否し、PoCは--allow-authorized-non-loopbackが指定されない限り 非ループバックターゲットを拒否し、Composeのポートは127.0.0.1にバインドされます。

開示の取り扱いについてはSECURITY.mdを参照してください。このリポジトリには 本番ターゲット、顧客データ、アクセストークン、実システムからの証拠は含まれていません。

ライセンス

MIT - LICENSEを参照してください。

ツールをダウンロード