Apple pagó recientemente al investigador indio de vulnerabilidades Bhavuk Jain una gran recompensa por errores de $ 100,000 por informar una vulnerabilidad altamente crítica que afecta a su ‘Iniciar sesión con Apple‘ sistema.
La vulnerabilidad ahora parcheada podría haber permitido a los atacantes remotos eludir la autenticación y apoderarse de las cuentas de los usuarios objetivo en servicios y aplicaciones de terceros que se han registrado mediante la opción «Iniciar sesión con Apple».
Lanzada el año pasado en la conferencia WWDC de Apple, la función ‘Iniciar sesión con Apple’ se presentó al mundo como un mecanismo de inicio de sesión para preservar la privacidad que permite a los usuarios registrarse en una cuenta con aplicaciones de terceros sin revelar sus direcciones de correo electrónico reales (también utilizadas como ID de Apple).
En una entrevista con The Hacker News, Bhavuk jainista reveló que la vulnerabilidad que descubrió residía en la forma en que Apple validaba a un usuario en el lado del cliente antes de iniciar una solicitud de los servidores de autenticación de Apple.
Para aquellos que no lo saben, al autenticar a un usuario a través de ‘Iniciar sesión con Apple’, el servidor genera JSON Web Token (JWT) que contiene información secreta que la aplicación de terceros utiliza para confirmar la identidad del usuario que inicia sesión.
Bhavuk descubrió que, aunque Apple les pide a los usuarios que inicien sesión en su cuenta de Apple antes de iniciar la solicitud, no estaba validando si la misma persona está solicitando JSON Web Token (JWT) en el siguiente paso desde su servidor de autenticación.
Por lo tanto, la validación faltante en esa parte del mecanismo podría haber permitido que un atacante proporcione una ID de Apple separada que pertenece a una víctima, engañando a los servidores de Apple para que generen una carga JWT válida para iniciar sesión en un servicio de terceros con la identidad de la víctima. .
«Descubrí que podía solicitar JWT para cualquier ID de correo electrónico de Apple, y cuando se verificó la firma de estos tokens con la clave pública de Apple, se mostraron como válidos. Esto significa que un atacante podría falsificar un JWT al vincular cualquier ID de correo electrónico y obtener acceso a el relato de la víctima», dijo Bhavuk.
El investigador confirmó a The Hacker News que la vulnerabilidad funcionó incluso si elige ocultar su ID de correo electrónico de los servicios de terceros y también puede explotarse para registrar una nueva cuenta con la ID de Apple de la víctima.
«El impacto de esta vulnerabilidad fue bastante crítico, ya que podría haber permitido una toma de control total de la cuenta. Muchos desarrolladores han integrado Iniciar sesión con Apple, ya que es obligatorio para las aplicaciones que admiten otros inicios de sesión sociales. Por nombrar algunos que usan Iniciar sesión con Apple: Dropbox, Spotify, Airbnb, Giphy (ahora adquirida por Facebook)”, agregó Bhavuk.
Aunque la vulnerabilidad existía en el lado del código de Apple, el investigador dijo que es posible que algunos servicios y aplicaciones que ofrecen ‘Iniciar sesión con Apple’ a sus usuarios ya hayan estado usando un segundo factor de autenticación que podría mitigar el problema para sus usuarios.
Bhavuk informó responsablemente el problema al equipo de seguridad de Apple el mes pasado, y la compañía ahora corrigió la vulnerabilidad.
Además de pagar una recompensa por errores al investigador, en respuesta, la compañía también confirmó que investigó los registros de su servidor y descubrió que la falla no se explotó para comprometer ninguna cuenta.