Se ha descubierto un fallo relativamente sencillo de llevar a cabo en el sistema Sign in with Apple que ha reportado 100.000 dólares a su descubridor Bhavuk Jain. Básicamente permitía que un atacante comprometiese de forma muy sencilla cualquier servicio protegido por Sign in with Apple. Bhavuk Jain revelo que la vulnerabilidad que descubrió residia en la forma en la que Apple validaba a un usuario en el lado del cliente antes de iniciar una petición a los servidores de autenticación de Apple.
La ahora parcheada vulnerabilidad pudo haber permitido a los atacantes saltarse la autenticación en las cuentas de los usuarios objetivos que se hubieran registrado en servicios de terceros y aplicaciones con esta opción.
Sign in with Apple trabaja de forma muy similar a OAuth 2.0. Un usuario se puede autenticar usando JWT (Json Web Token) o un código que genera el servidor de Apple que se usa a su vez para generar un JWT. Durante la autenticación Apple da la opción de compartir el Email ID con la tercera parte contra la que se está autenticando, o bien Apple genera un Email ID específico temporal para mantener la privacidad y el JWT se genera según ese correo. Debido a esto, y donde está el fallo, es que en realidad se podía realizar una petición JWT poniendo cualquier email ID de Apple y la verificación del token devuelto sería válida.

Bhavuk encontró que, aunque Apple les pide a los usuarios iniciar sesión en la cuenta de Apple antes de iniciar la petición, no estaba validándolo si la misma persona pide un JWT en el siguiente paso de su servidor de autenticación.
Con esto, la validación faltante en esa parte del mecanismo pudo haber permitido a un atacante proporcionar un Apple ID distinto al del usuario que lo solicita, engañando a los servidores de Apple para que generen un payload JWT que sea valido para registrarse en un servicio de terceros con la identidad de la víctima.
El investigador confirmo que la vulnerabilidad funcionaba incluso si elegias esconder tu email de las aplicaciones de terceros e incluso podía ser explotado para crear una nueva cuenta con el Apple ID de la víctima. Bhavuk reporto la vulnerabilidad al equipo de seguridad de Apple el último mes, y la compañía parcheo la vulnerabilidad.
Además, la compañía confirmo que esta vulnerabilidad no había sido explotada para comprometer ninguna cuenta, después de mirar los logs de sus servidores.
Fuente: Bhavuk Jain
No hay comentarios.:
Publicar un comentario
Gracias por dejar un comentario en Segu-Info.
Gracias por comentar!