EMSigner CVE 2

Escalada de privilegios a través de la función "¿Ha olvidado su contraseña?"

Resumen

Nombre: Escalada de privilegios a través de la función “¿Ha olvidado su contraseña?

Producto: EMSigner

Versiones afectadas: EMSigner version 2.8.7

Componente afectado: Función “Olvidó su contraseña”. EndPoint /Areas/Login/PasswordRecovery y parámetro web “Email”.

Tipo de ataque: Remoto 

Impacto: Escalada de privilegios

CVSSv3.1 Vector: AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

CVSSv3.1 Base Score: 8.8

CVE ID(s): CVE-2023-43902

Descripción

Un control de acceso incorrecto en la función Olvidó su contraseña de EMSigner v2.8.7 permite a atacantes no autenticados acceder a cuentas de todos los usuarios registrados, incluidos aquellos con privilegios de administrador a través de un token de restablecimiento de contraseña manipulado.

Vulnerabilidad

La vulnerabilidad Escalada de privilegios a través de la función “¿Ha olvidado su contraseña?” surge debido a controles de acceso insuficientes dentro del proceso de restablecimiento de contraseña de la aplicación. En concreto, la aplicación expone una actividad relacionada con el restablecimiento de contraseñas y no valida ni aplica adecuadamente los privilegios de acceso, lo que permite a los usuarios con pocos privilegios manipular ciertos parámetros para obtener acceso no autorizado y, potencialmente, restablecer las contraseñas de cuentas con privilegios superiores, incluidas las cuentas de administrador.

Vectores de Ataque

La vulnerabilidad puede ser explotada a través de un vector de ataque “Authentication Bypass”. Para explotar esta vulnerabilidad, un atacante con acceso de bajo privilegio puede manipular ciertos parámetros en el token de restablecimiento de contraseña generado por la funcionalidad “Olvidó su contraseña”. Mediante la creación de un testigo de restablecimiento de contraseña malicioso, el atacante puede establecer una nueva contraseña para cuentas con privilegios de administrador. Esto conduce al acceso no autorizado a cuentas con privilegios superiores y a la posible exposición de información sensible.

Explotación de la vulnerabilidad

Durante la evaluación de la aplicación web para uno de nuestros clientes, realizamos una evaluación de una aplicación web que utilizaba el software emSigner. Ahora, hablando de emSigner, este software es una solución de automatización de documentos que ayuda a las organizaciones a eliminar completamente el papel de todos los flujos de trabajo y crear un ecosistema de automatización de documentos de extremo a extremo, digitalizando documentos utilizando firmas digitales legalmente válidas.

Mientras investigábamos esta aplicación web, descubrimos una vulnerabilidad que permite a un atacante obtener acceso a las cuentas de todos los usuarios registrados en el portal web, incluidos aquellos con privilegios superiores. Al explotar la funcionalidad “Olvidó su contraseña”, un usuario con pocos privilegios puede modificar ciertos parámetros en el token de restablecimiento para establecer una nueva contraseña para cuentas con privilegios de administrador. Esto puede conducir potencialmente a un acceso no autorizado, la divulgación de información sensible y la interrupción del sistema afectado.

 

A continuación, explicaremos esta vulnerabilidad y los pasos necesarios para explotarla.

Un atacante con una cuenta de bajo privilegio dentro del portal web navega a la url afectada “olvidó su contraseña” como se muestra en la figura 1 y desencadena el proceso para restablecer su contraseña con la cuenta de prueba je**.***.********@gmail.com.

Figura 1. Solicitar contraseña olvidada

Tras rellenar el formulario y completar el proceso, el atacante recibe un restablecimiento de contraseña enlazando el correo electrónico je**.***.********@gmail.com, que le permite establecer una nueva contraseña para su cuenta, como se muestra en la figura 2 :

Figura 2. Enlace de restablecimiento de contraseña

Los consultores hicieron clic en el enlace y observaron que abría el formulario PasswordRecovery, como se muestra en la Figura 3. En él era posible modificar el parámetro de correo electrónico y establecer una nueva contraseña para otra cuenta. Aquí era posible modificar el parámetro de correo electrónico y establecer una nueva contraseña para una cuenta diferente. Sin embargo, para ello, los consultores tuvieron que repetir primero el proceso “Olvidó su contraseña” para la cuenta de destino, [email protected] como se muestra en la figura 3. Una vez hecho esto, los consultores pudieron interceptar la solicitud del formulario PasswordRecovery y manipular el valor del parámetro de correo electrónico con [email protected], que pertenecía a la cuenta de destino [email protected]. La figura 4 ilustra este proceso.

Figura 3. Enlace de restablecimiento de contraseña
Figura 4. Manipulación de parámetros web

El atacante puede ahora iniciar sesión en la aplicación como usuario de [email protected] con las nuevas credenciales establecidas durante el proceso de recuperación de contraseña, obteniendo acceso no autorizado a su cuenta y leyendo información potencialmente sensible, como se muestra en la figura 5.

Figura 5. Toma de posesión de la cuenta

Remediación

Una versión actualizada de EMSigner está disponible en la página del proveedor.

Créditos

La vulnerabilidad fue descubierta por Jean Paul Granados de la empresa SecPro (https://secpro.co/ – https://secpro.llc/).

Referencias

Página de proveedor https://www.emsigner.com/

Línea de Tiempo

2023-02-27
Vulnerabilidad descubierta.

2023-05-08
Proveedor contactado.

2023-05-24
El vendedor respondió reconociendo el informe.

2023-09-01
Vulnerabilidad parcheada.

2023-10-27
Revelación pública.

https://www.emsigner.com/