Nueva vulnerabilidad XSS en implementaciones de OAuth
Nueva vulnerabilidad XSS en implementaciones de OAuth

Nueva vulnerabilidad XSS en implementaciones de OAuth

Salt Labs, la división de investigación de Salt Security, ha descubierto una nueva forma de ataque de XSS que podría afectar a millones de sitios web. El problema no radica en el protocolo OAuth mismo, sino en cómo se implementa dentro de los sitios web.

El problema no está en OAuth

Los desarrolladores suelen pensar que el riesgo de XSS es algo del pasado, ya que se han introducido varias mitigaciones a lo largo del tiempo. Sin embargo, Salt Labs demuestra que esto no siempre es cierto. La implementación incorrecta de OAuth puede permitir un ataque XSS que evite las medidas actuales y lleve a la apropiación total de una cuenta.

El caso de HotJar

HotJar, una herramienta popular para recopilar datos estadísticos de usuarios, utiliza OAuth para permitir inicios de sesión sociales. Salt Labs encontró que si un usuario elige iniciar sesión con Google, se redirecciona a la cuenta de Google y luego se vuelve a HotJar con una URL que contiene un código secreto. Este proceso puede ser interceptado mediante un ataque XSS.

El ataque requiere un enlace falso que imita el inicio de sesión social de HotJar, pero solicita un token en lugar de un código para evitar que se consuma una sola vez. Una vez obtenido el token, el atacante puede iniciar un nuevo flujo de inicio de sesión y reemplazar el código con el de la víctima, logrando así el control total de su cuenta.

El impacto potencial

HotJar recopila una gran cantidad de datos personales, incluyendo nombres, correos electrónicos, direcciones y credenciales. Si esta herramienta tiene una vulnerabilidad, es probable que también lo tengan otros sitios web que la utilizan. Salt Labs estima que millones de sitios web podrían estar expuestos a este tipo de ataque.

La empresa no puede notificar individualmente a todos los afectados debido a la escala del problema. Por ello, ha lanzado un escáner gratuito para que los usuarios puedan verificar si su sitio web es vulnerable. El escáner está disponible aquí.

Conclusión

La vulnerabilidad no se debe a OAuth, sino a cómo se implementa en los sitios web. Una implementación segura requiere un esfuerzo adicional que muchos desarrolladores no comprenden o no tienen las habilidades para realizar. Salt Labs espera que el escáner permita identificar problemas de implementación antes de que se conviertan en amenazas reales.