← volver
CVE-2019-19006criticalbajo ataqueCWE-287

CVE-2019-19006

70Vexday Risk Score

Prioriza la corrección. Ella está bajo explotación confirmada por CISA.

ssvc Actcvss 9.8epss 37%
de la publicación al arma
Publicada en NVD21 nov
CISA KEV+2266d
probabilidad de explotación
37%top 2% de las CVE
explotación observada
CISA + VulnCheck
Acción exigida por CISAplazo federal: 2026-02-24

Apply mitigations per vendor instructions, follow applicable BOD 22-01 guidance for cloud services, or discontinue use of the product if mitigations are unavailable.

Resumen

Falha de autenticação (CWE-287) no módulo Framework do FreePBX que permite a um atacante não autenticado obter uma sessão administrativa válida no portal admin, sem conhecer a senha. Afeta diretamente quem expõe o painel administrativo do FreePBX/PBXact à internet — é o cenário mais comum em instalações VoIP mal segmentadas, e por isso a falha foi amplamente explorada em campanhas de fraude de chamadas (toll fraud) e implantação de webshells.

Detalle técnico

A vulnerabilidade está no fluxo de autenticação do módulo Framework do FreePBX. Ao receber uma tentativa de login, o código primeiro grava uma sessão PHP associada ao usuário informado e só depois valida a senha contra o banco; se a senha não confere, a sessão é destruída (unset). O parâmetro 'password' enviado pelo formulário de login não passa por sanitização de tipo antes de entrar na rotina de comparação.

Ao enviar o parâmetro como elemento de array (por exemplo password[0]) em vez de string, a função de comparação de senha falha de forma anômala antes de chegar ao ponto do código que remove a sessão. Resultado: a sessão criada para o usuário escolhido — inclusive 'admin' — permanece válida, mesmo com senha incorreta ou irrelevante. O atacante não precisa acertar a senha, só escolher qual usuário quer personificar.

É CWE-287 (Improper/Incorrect Authentication) segundo classificação da CISA no catálogo KEV. A Check Point Research reconstruiu o mecanismo comparando tráfego de ataque capturado com commits no repositório GitHub do FreePBX Framework logo após a correção, já que o Sangoma optou por não publicar detalhes técnicos do vetor por preocupação com exploração em massa.

Cómo se explota

O vetor é remoto, não autenticado e via HTTP/HTTPS contra o portal administrativo do FreePBX (porta padrão do Admin GUI, tipicamente 443 ou 80/443 dependendo da instalação). Não exige configuração não padrão nem acesso interno — o único pré-requisito real é que o painel admin esteja acessível pela rede de onde o atacante está, o que Sangoma confirmou no fórum oficial: instalações que restringem o Admin GUI e não o expõem à internet aberta não são exploráveis remotamente por este vetor.

A exploração documentada pela Check Point Research (campanha 'Inj3ctor3', 2020) segue um fluxo consistente: varredura da internet com SIPVicious (módulo svmap) para localizar servidores FreePBX/Asterisk expostos e identificar versões vulneráveis; exploração da falha de autenticação para logar como admin; uso do módulo asterisk-cli do próprio painel para executar comandos e enviar um webshell PHP inicial codificado em base64. A partir daí a exploração se ramifica em duas cadeias: uma extrai credenciais dos arquivos /etc/amportal.conf e /etc/asterisk/sip_additional.conf (senhas do banco de dados FreePBX e de todas as extensões SIP) e usa o sistema comprometido para originar chamadas de saída fraudulentas testando prefixos internacionais; a outra instala webshells adicionais com proteção por senha e controle de IP de origem, persistência via alteração de .htaccess e um painel PHP que permite originar chamadas e executar comandos arbitrários.

O impacto final é acesso administrativo total ao PBX: leitura de credenciais de todas as extensões, capacidade de originar chamadas (fraude de tarifação/toll fraud com custo financeiro direto à vítima), execução de comandos no sistema operacional subjacente e persistência via webshell. A CVE está no catálogo KEV da CISA como exploração confirmada in-the-wild.

Versiones

Afectadas
Módulo FreePBX Framework: ramo 13 até 13.0.197.13 (inclusive); ramo 14 até 14.0.13.11 (inclusive); ramo 15 até 15.0.16.26 (inclusive). A descrição oficial cita '115.0.16.26' para o ramo 15, que aparenta ser erro de digitação — o próprio anúncio do fornecedor no fórum FreePBX referencia a versão corrigida como 15.0.16.27, confirmando que o ramo é o 15.x.
Corregidas en
Framework 13.0.197.14 ou superior (ramo 13); Framework 14.0.13.12 ou superior (ramo 14); Framework 15.0.16.27 ou superior (ramo 15). A correção está no módulo 'framework', não na versão geral do FreePBX/PBXact — verificar a versão do módulo com 'fwconsole ma list'.

Cómo protegerse

A correção do fornecedor é atualizar o módulo Framework (não a versão geral do FreePBX) para: 13.0.197.14 ou superior, 14.0.13.12 ou superior, 15.0.16.27 ou superior. A atualização é aplicada via Admin -> Module Admin, ou pela linha de comando com 'fwconsole ma list' para checar a versão instalada do módulo 'framework' e 'fwconsole ma upgrade framework' (ou upgrade geral) para corrigir. Sistemas configurados para aplicar atualizações de segurança automaticamente já devem estar corrigidos desde novembro de 2019, mas a checagem manual é necessária porque a falha continuou sendo explorada em campanhas até 2020, indicando muitos sistemas nunca atualizados.

Se a atualização não é imediata, o controle compensatório real e confirmado pelo próprio Sangoma é não expor o Admin GUI do FreePBX à internet aberta — restringir por firewall, VPN ou lista de IPs. Isso neutraliza o vetor remoto por completo, já que o exploit depende de acesso HTTP ao portal admin. Deixar apenas as portas SIP e de mídia expostas (com origem restrita a IPs de provedores conhecidos) e não abrir a porta administrativa é suficiente segundo confirmação dos próprios mantenedores no fórum oficial.

Se houver suspeita de comprometimento anterior à correção: resetar sessões PHP ativas ('rm -f /var/lib/php/session/*'), auditar contas de admin em busca de usuários não reconhecidos, resetar senhas/segredos de todas as extensões SIP (visíveis no painel admin para qualquer sessão autenticada) e trocar credenciais de provedores SIP upstream que usem autenticação por usuário/senha. Não confiar apenas na presença de um WAF genérico como mitigação — o ataque manipula um parâmetro de formulário legítimo (password como array) e não exibe assinatura óbvia de exploit tradicional (SQLi, RCE payload), o que reduz a eficácia de regras de WAF não específicas para este caso.

Cómo detectar

Nos logs de acesso HTTP do servidor web (access_log/error_log do Apache ou equivalente), procurar requisições POST à página de login do admin (endpoint de autenticação do FreePBX) com o parâmetro 'password' enviado como array — sintaticamente algo como 'password[0]=' ou 'password[]=' no corpo da requisição — em vez do formato padrão 'password=valor'. Esse padrão de parâmetro é a assinatura mais direta da tentativa de exploração.

Outros sinais indiretos, conforme documentado na campanha real: varreduras prévias com assinatura de SIPVicious/svmap na rede; contas de administrador novas ou não reconhecidas no painel FreePBX; presença de arquivos webshell como '/var/www/html/admin/views/config.php' não originado de instalação legítima; entradas anômalas adicionadas a '.htaccess' redirecionando para esse arquivo; chamadas de saída para destinos internacionais incomuns nos CDRs do Asterisk (indicativo de toll fraud); e download de conteúdo codificado em base64 a partir de serviços como Pastebin nos logs de outbound do servidor. Não há um único log nativo do FreePBX que registre 'tentativa de bypass' de forma explícita — a detecção depende de correlacionar esses sinais indiretos, já que a exploração usa um parâmetro de formulário legítimo manipulado, não uma rota ou payload exótico.

Investigado y redactado con IA a partir del advisory del fabricante y análisis públicos, con las fuentes citadas. Verifica siempre la versión corregida en el advisory oficial antes de actuar.
Sangoma FreePBX 115.0.16.26 and below, 14.0.13.11 and below, 13.0.197.13 and below have Incorrect Access Control.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Productos afectados
n/a · n/a