Desde hace más de un año, basta con hacer clic en un enlace malicioso de Twitter para que se apoderen de tu cuenta y la utilicen para tuitear, retuitear, dar «me gusta» o bloquear a otros usuarios. La vulnerabilidad se hizo pública el miércoles, lo que llevó a una rápida solución y a una reprimenda para el usuario que la reveló.
En lugar de obtener una recompensa económica del programa de recompensas por fallos de Twitter, la empresa prohibió al usuario participar.
Envié este informe de fallo y no recibí recompensa. Me habéis dicho que este fallo existe desde hace un año. Viendo que no lo habéis arreglado en tanto tiempo, parece que este fallo no es importante, así que lo he hecho público. pic.twitter.com/R9X4k8KqMZ
– rabbit (@rabbit_2333) December 12, 2023
La revelación fue hecha por el usuario seudónimo de Twitter @rabbit_2333, quien compartió cómo una vulnerabilidad XSS en el subdominio de análisis de Twitter podría ser aprovechada para dar a un atacante acceso al perfil de un tercero y la capacidad de hacer casi todo, excepto cambiar la contraseña de la cuenta.
El ataque se valió de secuencias de comandos en sitios cruzados (XSS) y falsificación de petición en sitios cruzados (CSRF). Los ataques XSS permiten a actores maliciosos inyectar scripts dañinos en páginas web, mientras que CSRF engaña a los usuarios para que ejecuten acciones en una aplicación web en la que ya están autenticados.
El fallo de Twitter utilizaba ambos métodos, lo que lo hacía especialmente peligroso. Mediante la explotación de XSS, los atacantes podían eludir las medidas de seguridad de la web y obtener acceso no autorizado a las cuentas de los usuarios.
Al difundirse la noticia de esta vulnerabilidad, Chaofan Shou, cofundador de la plataforma de análisis de contratos inteligentes Fuzz.Land, intervino para ofrecer más detalles. Reveló lo fácil que era construir una potente herramienta de explotación basada en esta vulnerabilidad sin resolver, y proporcionó una explicación detallada de cómo funcionaba el fallo y los daños potenciales que podría causar.
Aquí está la revelación completa de la vulnerabilidad XSS + CSRF de Twitter.
Hacer clic en un enlace manipulado o ir a páginas web manipuladas permitiría a los atacantes hacerse con el control de tu cuenta (publicar, dar a me gusta, actualizar tu perfil, eliminar tu cuenta, etc.) pic.twitter.com/MVJ1MvHt6H
– Chaofan Shou (@shoucccc) 13 de diciembre de 2023
Al artículo de Shou le siguieron los comentarios del investigador en ciberseguridad Sam Sun, que proporcionó consejos prácticos sobre cómo evitar el exploit, destacando la falta de seguridad incluso para quienes utilizan Twitter en sus teléfonos a través de navegadores
Sun señaló que el navegador web Brave, centrado en la privacidad, habría impedido que el exploit funcionara.
La respuesta del equipo X no se hizo esperar. En cuestión de horas, habían parcheado la vulnerabilidad, según confirmó Sun. Sin embargo, a pesar de la gravedad potencial del fallo, @rabbit_2333 no fue recompensado por el descubrimiento. En su lugar, se le notificó que quedaba excluido del programa de recompensas por fallos.
«Gracias Twitter», escribió el usuario, con capturas de pantalla de la notificación de expulsión de Twitter.
Ante la avalancha de comentarios sobre si @rabbit_2333 debería haber publicado el fallo o no, el usuario afirmó que al principio había seguido el protocolo adecuado. Fue sólo cuando X descartó la gravedad y su elegibilidad para una recompensa que lo hicieron público, dijo el usuario.
Envié este informe de fallo y no recibí recompensa. Me habéis dicho que este fallo existe desde hace un año. Viendo que no lo habéis arreglado en tanto tiempo, parece que este fallo no es importante, así que lo he hecho público. pic.twitter.com/R9X4k8KqMZ
– rabbit (@rabbit_2333) December 12, 2023
El objetivo de los programas de recompensas por fallos es evitar incidentes como éste, incentivando a los desarrolladores para que descubran agujeros de seguridad con recompensas y un acuerdo de no divulgarlos mientras la empresa arregla las cosas.
Los programas de recompensas por fallos son comunes en el desarrollo de software, así como en las criptomonedas, especialmente cuando se trata de contratos inteligentes. Si bien la ejecución de estos programas puede ser un reto, la prevención de una brecha de seguridad suele considerarse un esfuerzo que merece la pena.
Los programas de incentivos White-hat y bug-bounty suelen exigir que las vulnerabilidades se mantengan confidenciales. Pero también suelen tener fechas de caducidad, para garantizar que el desarrollador de software actúe a tiempo.