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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-5118 — Divi Form Builder <= 5.1.2 — 認証されていないロールインジェクションによる権限昇格 | Kitploit
ツール/GitHubGitHub/yucaerin/cve-2026-5118
特権昇格脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテスト学習と教育
GitHubyucaerin/cve-2026-5118

CVE-2026-5118

Divi Form Builder <= 5.1.2 — 認証されていないロールインジェクションによる権限昇格

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

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-5118 — Divi Form Builder <= 5.1.2 — 認証なし権限昇格(ロールインジェクション)

🔥 脆弱性概要

WordPressプラグイン Divi Form Builder バージョン 5.1.2以下 には、認証なし権限昇格 の脆弱性が存在します。この深刻な欠陥により、認証されていない攻撃者 が、Divi Form Builder のフォーム(お問い合わせフォーム、見積フォーム、ニュースレターフォーム、その他DFB対応フォーム)を介して、直接 Administrator アカウントを作成できます。

脆弱性は、FormSubmissionHandler.php の create_user() 関数に起因します。この関数は、ユーザーから送信されたPOSTデータから role パラメータを、適切な認可や許可リストによる検証なしに受け入れます。プラグインは、送信されたロールがシステムに 存在する かどうかのみチェックします(例:administrator は有効なWordPressロールです)。ロールが公開登録に対して 安全 かどうかは一切確認しません。

画期的な発見: Divi Form Builder が使用する fb_nonce は、サイト上のすべてのフォームで同一の グローバル共有nonce (wp_create_nonce('security')) です。さらに、form_type=register は共有AJAXハンドラへのPOSTで 上書き可能 です。つまり、あらゆるDFBフォーム(お問い合わせ、見積、フィードバックなど)を、任意のロール割り当てによるユーザー登録トリガーとして悪用できます。

🔍 影響を受けるプラグイン

  • プラグイン名: Divi Form Builder
  • 影響を受けるバージョン: <= 5.1.2
  • 脆弱性の種類: ロールインジェクションによる認証なし権限昇格
  • CVE ID: CVE-2026-5118
  • CVSS スコア: 9.8(緊急)
  • CWE: CWE-266 — 不適切な権限割り当て
  • 影響: サイト完全掌握 — 管理者アカウント作成

🧨 攻撃者ができること

🧪 エクスプロイトの特徴

  • 🔓 認証不要
  • 📝 あらゆるDFBフォームで動作 — お問い合わせ、見積、ニュースレター、フィードバックなど
  • 🎯 AJAXエンドポイントを標的に /wp-admin/admin-ajax.php?action=de_fb_ajax_submit_ajax_handler
  • 🧠 ロールインジェクション — 通常のフォームフィールドと共に role=administrator を送信
  • 🌐 大量スキャン対応 — 自動発見機能付きスレッド型マルチターゲットスキャナ
  • 📄 結果を result.txt に保存

🧠 脆弱なコード

root@kitploit:~
// includes/shared/handlers/FormSubmissionHandler.php ~ line 2250
$role = isset($form_data['role']) ? sanitize_text_field($form_data['role']) : 'subscriber';

// ~ line 2278 — ロールが存在するかだけを確認し、安全かは確認しない
$roles_obj = function_exists('wp_roles') ? wp_roles() : null;
if ($roles_obj && is_object($roles_obj) && is_array($roles_obj->roles) && !isset($roles_obj->roles[$role])) {
    $role = 'subscriber';  // ← "administrator" は存在するため、このチェックを通過
}

// ~ line 2301 — 注入されたロールを直接適用
$user = new WP_User($user_id);
$user->set_role($role);  // ← 権限昇格!

🚀 使用方法

単一ターゲット

root@kitploit:~
python3 exploit.py -t http://target.com
python3 exploit.py -t https://target.com -u hacker -p Pass123! -e [email protected]

大量スキャン(リスト、http/httpsなし)

targets.txt を作成:

root@kitploit:~
target1.com
target2.com:8080
192.168.1.50
subdomain.target.com
root@kitploit:~
python3 exploit.py -l targets.txt -T 20

オプション

🛠 修正推奨事項

root@kitploit:~
// 安全策: 公開登録に許可するロールのみを許可リスト化
$allowed_registration_roles = array('subscriber', 'contributor');
if (!in_array($role, $allowed_registration_roles, true)) {
    $role = 'subscriber';  // ← 危険なロールはすべて拒否
}
  • フロントエンドフォームから role 隠しフィールドを完全に削除する
  • 特権ロールには current_user_can('create_users') の機能チェックを追加する
  • グローバルではなくフォームごとにスコープされた厳格なnonce検証を実装する
  • 登録AJAXエンドポイントにレート制限を追加する

🧠 研究者

  • クレジット: 0xd4rk5id3

📚 参考文献

  • Wordfence アドバイザリ
  • 元のCVEリポジトリ

🔒 免責事項:

この情報は 教育目的 および 許可された侵入テスト のためにのみ提供されています。許可なくコンピュータシステムを悪用することは違法かつ非倫理的です。所有していないターゲットをテストする前に、必ず明示的な書面による許可を得てください。

ツールをダウンロード
能力影響
🔑 ログインなしで管理者アカウントを作成サイト完全掌握
📦 WooCommerce顧客データにアクセスデータ漏洩
💉 プラグイン/テーマのPHPファイルを編集リモートコード実行
🕳️ 隠しバックドアをインストール永続的アクセス
👥 全ユーザーデータを閲覧プライバシー侵害
フラグ説明
-t, --target単一ターゲットURL
-l, --listターゲットリストのファイル(1行に1つ、http/httpsは任意)
-T, --threads大量スキャン時のスレッド数(デフォルト: 10)
-o, --output結果の出力ファイル(デフォルト: result.txt)
-u, --username新しいアカウントのカスタムユーザー名
-p, --password新しいアカウントのカスタムパスワード
-e, --email新しいアカウントのカスタムメールアドレス
-v, --verbose詳細なデバッグ出力
--no-confirm許可確認プロンプトをスキップ