Menú principal

martes, 2 de abril de 2013

El bug de seguridad en iForgot que Apple cometió 2 veces

La semana pasada Apple tuvo que sufrir el escarnio de tirar abajo los servicios de iForgot por culpa de un fallo que permitía, mediante una manipulación de parámetros de URL, cambiar la contraseña de cualquier persona con solo conocer su correo electrónico asociado al Apple ID y su fecha de nacimiento. El exploit había sido publicado en Vaibs.in en detalle, con lo que cualquiera pudo explotarlo fácilmente durante el tiempo que estuvo cerrado, y lo que es peor... mientras que Apple tiró los servicios abajo.

Figura 1: El bug y el exploit de iForgot

El exploit requería que se conocieran el Apple ID y la fecha de nacimiento de la víctima para, una vez introducida la fecha de nacimiento de la víctima llegar al paso que pide la pregunta secreta. Esto se hacía por medio de una URL como la siguiente:
https://iforgot.apple.com/iForgot/validateBirthDate.html?showBirthYear=false&
authentication=security&findAccount=false&aolParameter=false&borderValue=true&myAppleIdImageURL=https://appleid.apple.com/cgi-bin/WebObjects/MyAppleId.woa?localang=en_US&appendingURL=&mode=1&month=01&date=1&year=1989&urlhit=false
El parámetro authentication marca el método de recuperación de contraseña, en esa URL se indica el valor security para establecer la pregunta de seguridad. Sin embargo, no está validado, y bastaba con cambiar el valor a null, y ya no se hacía ninguna comprobación más, por lo que se podía cambiar la contraseña de todos los usuarios.
https://iforgot.apple.com/iForgot/validateBirthDate.html?showBirthYear=false&
authentication=null&findAccount=false&aolParameter=false&borderValue=true&myAppleIdImageURL=https://appleid.apple.com/cgi-bin/WebObjects/MyAppleId.woa?localang=en_US&appendingURL=&mode=1&month=01&date=1&year=1989&urlhit=false
Lo peor de todo es que, cuando Apple decidió tirar abajo los servicios, solo tiró el paso 1, es decir, en el que se pide el Apple ID, pero sin embargo seguía funcionando el paso 2, así que bastaba con tener la URL a mano del paso 2 y pedirla directamente, algo así como:
https://iforgot.apple.com/iForgot/authenticationmethod.html?
language=US-EN&defAppleId=johnny%40apple.com&urlhit=false
Así que durante el tiempo que iForgot estuvo tirado... las contraseñas se pudieron seguir cambiando por otro fallo de seguridad similar, lo que ha enfadado a mucha gente en Internet.

No hay comentarios:

Publicar un comentario en la entrada

Entrada destacada

Vente al "Security Innovation Day 2016: Let Security Be"

El Security Innovation Day es el evento desde el que Telefónica y ElevenPaths comparten los últimos lanzamientos y novedades en innovació...

Otras historias relacionadas

Entradas populares