Hackear cualquier cuenta de Facebook; vulnerabilidad día cero encontrada

Las fallas de seguridad en redes sociales pueden tener consecuencias desastrosas para las personas debido a su uso masivo y a la cantidad de información confidencial que circula por estas plataformas. Amol Baikar, investigador especialista en análisis de vulnerabilidades ha reportado el hallazgo de una vulnerabilidad día cero en una función de inicio de sesión en Facebook que debería ser considerada de gran seriedad para los usuarios. 

La vulnerabilidad está relacionada con la función “Iniciar sesión con Facebook” está basada en el protocolo de autorización Open Authorization 2.0 (OAuth 2.0) para realizar un intercambio de tokens entre el sitio oficial de la red social y sitios de terceros. De ser explotada, la falla permitiría a un actor de amenazas tomar control del flujo de OAuth y extraer el token de acceso, comprometiendo las cuentas de los usuarios.

El kit de desarrollo de software (SDK) de Facebook para JavaScript utiliza el endpoint “/connect/ping” para generar un token de acceso y redirigir una URL configurada a “XD_Arbiter”, que está en la lista blanca de todas las aplicaciones de forma predeterminada. En segundo plano, el SDK de inicialización crea un iframe proxy para la comunicación entre dominios. El marco proxy devuelve el token, el código o el estado desconocido no autorizado a través de la API postMessage()

Si bien el endpoint estaba adecuadamente protegido contra otras fallas de seguridad conocidas, el especialista en análisis de vulnerabilidades decidió probar otras vías para modificar el flujo de autenticación y robar el token de acceso del usuario objetivo.   

Fragmento de la prueba de concepto presentada por el investigador

La intercepción del token se completa agregando un nuevo número telefónico para registrarse en la cuenta objetivo.  La explotación exitosa de esta vulnerabilidad brinda a los actores de amenazas privilegios completos de escritura y lectura, incluyendo mensajes, fotos y videos, siempre y cuando los controles de privacidad de la cuenta objetivo no se hayan personalizado.  

El experto en análisis de vulnerabilidades reportó la falla a Facebook a través del programa de recompensas de la red social, que reconoció el reporte e implementó una corrección a la brevedad. Acorde al Instituto Internacional de Seguridad Cibernética (IICS), Baikar habría recibido una recompensa de hasta 50 mil dólares, la más alta que Facebook ha otorgado a un reporte de vulnerabilidad del lado del cliente.