El pasado 10 de septiembre de 2024 se publicó una vulnerabilidad del tipo «timing attack» (CVE-2023-49069), descubierta por el equipo de Auditoría de Hispasec. Esta vulnerabilidad afecta a diferentes versiones de Mendix, una plataforma destinada al desarrollo de aplicaciones web y móvil.
Ataque basado en tiempo
Un ataque basado en tiempo consiste en obtener información sensible de la aplicación mediante el análisis del tiempo de respuesta del servidor. Esta técnica permite identificar discrepancias ante el envío de diferentes conjuntos de datos.
Vulnerabilidad en el mecanismo de inicio de sesión
En el caso del CVE-2023-49069, la vulnerabilidad se produce en el mecanismo de inicio de sesión básico que permite a los usuarios acceder a la plataforma. Idealmente, ante solicitudes de inicio de sesión erróneas, el servidor debe responder con mensajes poco descriptivos para evitar revelar si el error corresponde al usuario o a la contraseña.
En la práctica, se puede observar que en algunos casos el servidor tarda más en responder cuando se detecta que la cuenta existe y, posteriormente, se verifica la contraseña. Este comportamiento es lo que se identifica en el portal de inicio de sesión básico de Mendix.
Pruebas y análisis
Se creó un entorno de pruebas con una aplicación donde se registraron usuarios específicos. Se llevó a cabo un ataque de fuerza bruta incluyendo cuentas existentes y otras que no estaban registradas en la aplicación.
Como resultado, el tiempo de respuesta del servidor variaba según si los usuarios existían o no. Esta discrepancia permitió identificar las cuentas válidas dentro de la aplicación.
Intento de corrección
Se intentó modificar la función VerifyPassword, pero este código está protegido con permisos de solo lectura, lo que impide su modificación directa por parte del usuario final.
Alcance y reporte de la vulnerabilidad
Las pruebas se realizaron sobre las versiones 9 y 10 de Mendix. Se confirmó que en ambos casos la vulnerabilidad estaba presente, afectando a cientos de aplicaciones públicas en internet según se verificó mediante Censys.
El reporte de la vulnerabilidad se realizó el 19 de septiembre de 2023 a INCIBE. El día 13 de noviembre de 2023, INCIBE contactó al equipo de Auditoría de Hispasec para informar sobre la necesidad de realizar el reporte al ProductCERT de Siemens, ya que son los responsables directos de Mendix.
Finalmente, la vulnerabilidad se publicó el 10 de septiembre de 2024. El conjunto de versiones afectadas se detalla en una tabla adjunta.
Recomendaciones
Siemens recomienda no utilizar el mecanismo de inicio de sesión básico de la plataforma y, en su lugar, hacer uso de un módulo alternativo como SAML, MendixSSO o un IdP propio.
Más información
- Siemens Security Advisories: https://www.siemens.com/global/en/products/services/cert.html#SiemensSecurityAdvisories
- SSA-097435: Usernames Disclosure Vulnerability in Mendix Runtime: https://cert-portal.siemens.com/productcert/html/ssa-097435.html
- CVE Mitre: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-49069
- Tenable CVE-2023-49069: https://www.tenable.com/cve/CVE-2023-49069