martes, 4 de diciembre de 2012

Fallo en tumblr permite la propagación de publicaciones ofensivas sin consentimiento

El fallo ha sido explotado durante el pasado lunes por el grupo GNAA, y ha permitido la propagación en la red social de mensajes en los que se insultaba a los propios usuarios. A pesar de que desde tumblr se asegura que ha sido solucionado, otros investigadores demuestran que la raíz de este, una vulnerabilidad cross-site scripting, aún puede ser explotada.

Tumblr es una red social de microblogging que permite publicar textos, imágenes y vídeos, entre otros contenidos. El formato es heredero del tumblelog, una versión menos estructurada de la bitácora tradicional, cuyos contenidos no tenían por qué seguir una temática definida. Actualmente es una de las referencias en cuanto a plataformas de weblogs, superando en número de sitios a Wordpress.com.

Una de las características implementadas en tumblr es la opción de reblog, donde el contenido de otro blog puede ser automáticamente publicado en tu propio sitio en caso de pulsar en el enlace a tal efecto.

Durante el pasado lunes, miles de usuarios de tumblr comprobaban como automáticamente se publicaba un mensaje de contenido ofensivo hacia los propios usuarios de la red social en su sitio. El mensaje, atribuido al grupo GNAA, se publicaba en el blog de la víctima después de que el usuario visitara un sitio donde el mensaje ya estuviera publicado, a modo de gusano.

El laboratorio de seguridad Sophos ha podido analizar el comportamiento del mensaje. Contiene en su código HTML un iframe llamado Alper invisible para el visitante. Junto a este, se encuentra una URI codificada en base64 para eludir los filtros de tumblr. Al decodificarla, encontramos dos funciones JavaScript.

La primera de ellas se encarga de inyectar al iframe lapper código proveniente de una URL bajo el control de GNAA. Según el usuario fraxtil, se hacía la siguiente petición:

GET / HTTP/1.1
Host: i.hope.you.get.strangled.net
HTTP/1.1 301 Moved Permanently
Date: Mon, 03 Dec 2012 16:50:09 GMT
Server: Apache/1.3.42 (Unix) PHP/5.3.8 with Suhosin-Patch
X-Powered-By: PHP/5.3.8
Cache-Control: public, max-age=15
X-Abuse: URL redirection provided by freedns.afraid.org - please report
any misuse of this service
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html
0

Esto hace que el navegador haga una petición a la función reblog de tumblr. Los usuarios que entraran en alguno de estos sitios sin estar autenticados simplemente eran dirigidos a la página de login. Sin embargo, si ya se estaba autenticado el mensaje ofensivo se publicaba automáticamente en el sitio del usuario. Esta función es, por tanto, la responsable de la propagación.

Sin embargo, este comportamiento no coincide con el esperado, ya que se necesita una confirmación por parte del usuario para llevar a cabo el reblog. Sobre esto no hay más que especulaciones, ya que ni GNAA ni tumblr ha dado más información sobre el ataque.

La segunda función simplemente provoca que, al salir de la página, aparezca una ventana con un mensaje anunciando el cierre por mantenimiento de tumblr al día siguiente, en una especie de profecía de lo que ocurriría horas después.

Según GNAA, esta vulnerabilidad fue reportada hace semanas pero desde entonces no han obtenido respuesta ni ha habido avances para solucionarla. La supuesta indiferencia de tumblr hacia la seguridad de los usuarios parece ser la principal motivación del ataque.

Aunque tumblr ya ha anunciado que la vulnerabilidad se ha solucionado, otros investigadores, como Janne Ahlberg, no lo tienen tan claro. Según este, la raíz del problema no es tanto el uso ilícito de reblog como el posible uso de una vulnerabilidad cross-site scripting. A través de una cuenta de pruebas, ha podido confirmar que esta vulnerabilidad existe en varios de los campos de edición de publicaciones, aunque señala que parece que se están implementando contramedidas, como añadir la palabra "denied" al principio del script.

Hay que aclarar que, de las 8.000 cuentas que se calcula fueron afectadas, ninguna fue comprometida. Simplemente se hizo uso de la función de reblog, eso sí, sin consentimiento del usuario.

Más información:

How the Tumblr worm spread so quickly

Testing Tumblr worm root cause

fraxtil



Francisco López
flopez@hispasec.com

No hay comentarios:

Publicar un comentario en la entrada