Vulnerabilidad de omisión de autenticación encontrada en Auth0

Vulnerabilidad de omisión de autenticación encontrada en Auth0

Se ha descubierto una vulnerabilidad de omisión de autenticación crítica en una de las mayores plataformas de identidad como servicio Auth0 que podría haber permitido a un atacante malintencionado acceder a cualquier portal o aplicación que esté utilizando el servicio Auth0 para la autenticación.

Auth0 ofrece soluciones de autenticación basadas en tokens para varSias plataformas, incluida la capacidad de integrar la autenticación de redes sociales en una aplicación.

Con más de 2000 clientes empresariales y la gestión de 42 millones de inicios de sesión cada día y miles de millones de inicios de sesión por mes, Auth0 es una de las plataformas de identidad más grandes.

Mientras realizaban una prueba en septiembre de 2017, los investigadores de la firma de seguridad Cinta Infinita descubrieron un fallo (CVE-2018-6873) en la API Legacy Lock de Auth0, que reside debido a una validación incorrecta del parámetro de audiencia JWT Web Tokens (JWT).

Los investigadores explotaron con éxito este problema para eludir la autenticación de inicio de sesión mediante un simple ataque de falsificación de solicitudes entre sitios (CSRF/XSRF) contra las aplicaciones que se ejecutan a través de autenticación Auth0.

La vulnerabilidad CSRF de Auth0 (CVE-2018-6874) permite a un atacante reutilizar un JWT firmado válido generado para una cuenta separada para acceder a la cuenta de la víctima objetivo.

Para esto, todo lo que necesita un atacante es la identificación de usuario o la dirección de correo electrónico de la víctima, que puede obtenerse mediante simples trucos de ingeniería social.

Demostración de ataque en video

Según los investigadores, el ataque es reproducible contra muchas organizaciones, "siempre que conozcamos los campos y valores esperados para el JWT. No hay necesidad de ingeniería social en la mayoría de los casos. La autentificación para las aplicaciones que usan un correo electrónico o un número entero incremental para la identificación del usuario sería pasado por alto trivialmente".

La empresa de seguridad informó sobre la vulnerabilidad al Equipo de seguridad de Auth0 en octubre de 2017. La compañía actuó muy rápido y resolvió la debilidad en menos de 4 horas.

Sin embargo, dado que el SDK vulnerable y las bibliotecas compatibles de Auth0 se han implementado en el lado del cliente, Auth0 tardó casi seis meses en contactar a cada uno de sus clientes y ayudarlos a solucionar esta vulnerabilidad, antes de revelar públicamente este problema.

"A diferencia de la solución para el caso especial descubierto por Cinta Infinita, este problema no se pudo resolver sin obligar a nuestros clientes a actualizar las bibliotecas/SDK en su extremo, una tarea mucho más importante", dijo el equipo de Auth0 en su aviso.

La compañía ha mitigado las vulnerabilidades al reescribir ampliamente las bibliotecas afectadas y lanzar nuevas versiones de sus SDK (auth0.js 9 y Lock 11).

Cinta Infinita también esperó seis meses antes de revelar públicamente la vulnerabilidad, dando al equipo de Auth0 tiempo suficiente para actualizar todos sus dispositivos privados de SaaS (en el local) también.

La empresa de seguridad ha lanzado un video de prueba de concepto (PoC), que demuestra cómo obtuvieron la identificación de usuario de la víctima y eludieron la autenticación de contraseña al iniciar sesión en el Tablero de administración de Auth0 al crear un token de autenticación.