Resumen general
/login/callback para identificar al usuario. Este token contiene una referencia a para qué —un inquilino de Auth0— está previsto. Un fallo en el servicio Auth0 no validaba correctamente esta audiencia y, por lo tanto, permitía que tokens destinados a un inquilino se usaran en otro. Además, la funcionalidad de base de datos personalizada disponible para todos los inquilinos de Auth0 permite generar tokens autenticados con cualquier identificador deseado. Por lo tanto, si un atacante lograba averiguar el identificador de usuario de una posible víctima en un inquilino objetivo —algo que, por lo general, se considera información pública—, podía construir un token con ese identificador. Debido a la validación incorrecta de la audiencia, el inquilino objetivo lo aceptaría y establecería una sesión de Login, reconociendo al atacante como la víctima. Esto permitía una escalada de privilegios, entre otros posibles vectores de ataque.
Una preocupación concreta era el posible uso de este ataque contra el servicio de administración de Auth0. Los inquilinos de Auth0 son administrados por administradores del inquilino, que tienen cuentas en un “inquilino de autoridad” con los permisos pertinentes. Si un atacante lograba averiguar el identificador de usuario de un administrador del inquilino en el inquilino de autoridad (por ejemplo, mediante ingeniería social), esto le permitía iniciar sesión como ese administrador mediante el método de ataque descrito. El atacante podía entonces realizar acciones administrativas y ver toda la información del inquilino.
El ataque nunca era eficaz si el usuario tenía habilitada, lo cual es recomendable.
¿Me afecta?
¿Cómo se soluciona?
audience. Nuestros clientes no deben realizar ninguna acción adicional.