⚡️ Cloudflare Image Resizing <= 1.5.6 - Exécution de code à distance non authentifiée (CVE-2025-8723) Exploit
🚨 Aperçu de la vulnérabilité
Le plugin Cloudflare Image Resizing pour WordPress (versions <= 1.5.6) souffre d'une vulnérabilité Absence d'authentification qui permet l'exécution de code à distance non authentifiée (RCE) via le hook rest_pre_dispatch.
- CVE : CVE-2025-8723
- Score CVSS : 9.8 (Critique)
- Publié : 18 août 2025
- Vecteur :
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- Découvert par : Wordfence Intelligence
Description :
Le point de terminaison de l'API REST du plugin n'authentifie pas les utilisateurs et assainit incorrectement les entrées dans la méthode hook_rest_pre_dispatch(). Cette faille permet aux attaquants d'injecter et d'exécuter du code PHP arbitraire en forgeant des requêtes malveillantes — sans nécessiter de connexion.
🛠 Fonctionnalités de cet exploit
- Script Python professionnel, modulaire et extensible
- Détection automatique de la vulnérabilité du plugin en analysant le fichier
readme.txt
- Plusieurs techniques de contournement pour les WAF et environnements restrictifs :
- Ensembles d'en-têtes minimaux et avancés (User-Agent, Referer, Origin, X-Forwarded-For aléatoires, etc.)
- Tentatives répétées avec rotation des en-têtes
- Support du proxy (personnalisé ou style BurpSuite)
- Exécution de commande personnalisée :
- Par défaut :
whoami, mais l'utilisateur peut spécifier n'importe quelle commande
- Sortie claire et professionnelle avec codes d'état informatifs
- Gère élégamment tous les cas d'erreur (plugin manquant, interdit/non autorisé, erreurs serveur, etc.)
📦 Contenu du script ?
1️⃣ Détection automatique des vulnérabilités
- Récupère
wp-content/plugins/cf-image-resizing/readme.txt
- Extrait et vérifie la version du plugin
- Si version ≤ 1.5.6, passe à l'exploitation
2️⃣ Stratégies d'exploitation multiples
- En-têtes minimaux : Envoie uniquement le nécessaire pour maximiser la compatibilité
- En-têtes avancés : Randomise User-Agent, Referer, Origin, Accept-Language, etc. pour chaque tentative
- Rotation des en-têtes : Essaie plusieurs combinaisons pour contourner les WAF et la limitation de débit
3️⃣ Exécution personnalisable
- Exécutez n'importe quelle commande système sur la cible via un argument CLI
Exemple : -c "id"
4️⃣ Prise en charge du proxy
- Utilisez
--proxy pour envoyer les requêtes via un proxy (ex. BurpSuite)
5️⃣ Sortie complète
- Affiche la version détectée, le statut de vulnérabilité, les méthodes tentées et la sortie réelle des commandes
🚀 Utilisation
python3 CVE-2025-8723.py -u http://target.com/
- Commande par défaut :
whoami
Spécifiez une commande personnalisée :
python3 CVE-2025-8723.py -u http://target.com/ -c "id"
Utilisez un proxy (ex. BurpSuite) :
python3 CVE-2025-8723.py -u http://target.com/ --proxy http://127.0.0.1:8080
Augmentez les tentatives d'en-têtes avancés (par défaut 5) :
python3 CVE-2025-8723.py -u http://target.com/ --attempts 10
🧩 Exemple de sortie
[+] CVE-2025-8723 Exploit | by Khaled Alenazi (Nxploited)
[+] Detected version: 1.5.6
[+] Target is vulnerable (<=1.5.6). Proceeding with exploit.
[*] Trying minimal headers (only Content-Type)...
[=] Minimal Headers | Status: 200
www-data
[+] Exploit worked with this method!
🛡️ Techniques de contournement et d'évasion
- Randomisation des en-têtes : Essaie diverses combinaisons de User-Agent, Referer, Origin et Accept-Language
- Prise en charge du proxy : Utilisez un proxy pour faire pivoter les IP et contourner les restrictions basées sur l'IP
- Tentatives multiples : Réessaie avec de nouveaux en-têtes si les requêtes sont bloquées ou interdites
- Gestion des erreurs : Interprète intelligemment toutes les réponses courantes (404, 401, 403, 5xx, timeouts)
📖 Structure du script expliquée
- normalize_url : Vérifie le format correct de l'URL
- get_headers : Génère des en-têtes avancés aléatoires pour chaque tentative
- get_readme/extract_version/is_vulnerable : Logique de détection automatique des vulnérabilités
- try_exploit : Tente l'exploitation avec un ensemble d'en-têtes donné
- exploit_all : Orchestre toutes les tentatives d'exploitation, en changeant automatiquement les stratégies d'en-têtes
- scan : Vérifie la présence du plugin et la vulnérabilité
- Nxploited (main) : Analyse des arguments, rapport et flux de travail d'exploitation
⚠️ Avertissement
Cet outil est destiné uniquement aux tests de sécurité autorisés et à des fins éducatives.
Le développeur n'est pas responsable de toute utilisation abusive ou des dommages causés par ce code.
Par : Khaled Alenazi (Nxploited)