Cómo protegerse de la vulnerabilidad Timthumb en WordPress

  • Autor Autor Kevin Heurtebise
  • Fecha de inicio Fecha de inicio
K

Kevin Heurtebise

Zeta
Leyendo un blog francés, fui a parar con esta noticia que os traduzco con mi francés 🙂 :

Timthumb.php es una biblioteca que numerosos themes de WordPress utilizan para el redimensionamiento automático de las imágenes. El problema es que hay un fallo que permite a los hackers ejecutar un código PHP a partir del repertorio oculto de Timthumb.

Nada gracioso y peligroso !

Para protejeros de este fallo, conectaros a vuestro servidor y buscad el fichero timthumb.php. En general, están en el repertorio de script del tema que utilizáis. Podéis localizarlo más facilmente con el siguiente comando:

find . -name ‘timthumb.php’

Una vez se haya encontrado el fichero Timthumb.php, editadlo y cambiad la linea 27 de esto:

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

a esto:

$allowedSites = array ();

Y ya está, ya no hay ningún riesgo (bueno, hasta la próxima).

Attention à la faille Timthumb pour Wordpress | Korben
 
también leí este asunto, y al parecer son cientos de temas wordpress que podrían usar ese script para producir thumbnails.
El mismisimo sitio del creador del timthumb.php Ben Gillbanks fue hackeado el viernes por esta razón.
Les dejo estos enlaces para más información al respecto:

Enlace eliminado
timthumb - image crop zoom resize management - Google Project Hosting
TimThumb - Image Resizer for WordPress

Además habría que comentar que hay temas wordpress (de pago) que usan este script pero emplean otro nombre, en lugar de ser timthumb.php lo tienen en un archivo thumb.php y supongo que otros diseñadores pueden haber hecho algo parecido.
 
Al parecer todas las versiones son vulnerables y afecta a muchos themes de WordPress y sitios web PHP que ejecutan TimThumb.

Si tu sitio utiliza este script debes actualizarlo lo más pronto posible y se recomienda que cambies todas las contraseñas de WordPress, ya que pueden haber sido expuesto.

Ojo el atacante tiene acceso al shell del servidor y puede cargar scripts maliciosos, así que ten mucho cuidado.

Media Temple ha lanzado un consejo de seguridad con un video y una gran explicación sobre el problema y las posibles soluciones.

Salutes…
 
Leyendo un blog francés, fui a parar con esta noticia que os traduzco con mi francés 🙂 :

Timthumb.php es una biblioteca que numerosos themes de WordPress utilizan para el redimensionamiento automático de las imágenes. El problema es que hay un fallo que permite a los hackers ejecutar un código PHP a partir del repertorio oculto de Timthumb.

Nada gracioso y peligroso !

Para protejeros de este fallo, conectaros a vuestro servidor y buscad el fichero timthumb.php. En general, están en el repertorio de script del tema que utilizáis. Podéis localizarlo más facilmente con el siguiente comando:

find . -name ‘timthumb.php’

Una vez se haya encontrado el fichero Timthumb.php, editadlo y cambiad la linea 27 de esto:

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

a esto:

$allowedSites = array ();

Y ya está, ya no hay ningún riesgo (bueno, hasta la próxima).

Attention à la faille Timthumb pour Wordpress | Korben

Si tengo el problema de que no aparecen las imagenes, pero cuando pongo el dominio de la imagen donde esta alojada si aparece, como hago ? para que todas las imagenes se visualizen automaticamente sin tener que andar editando..
 
De hecho, los themes de Gabfire usan Timthumb y a mi me hackearon un sitio instalando un phpmailer y varias patrañas más para generar spam desde mi servidor. Ahora uso themes de propia creación. Las nuevas versiones de Wordpress ya incluyen los thumbnails, y si se cambia el tamaño sólo hay que instalar Regenerate Thumbnails para que todos tengan el nuevo tamaño que le hayamos indicado.

Sobre lo que comentas, [MENTION=21765]krvaM[/MENTION] cuando yo lo usaba tenía que poner la URL de la ubicación de las imágenes en la configuración de cada imagen, sino simplemente no se mostraban. Aparecía la imagen pequeña de imagen no encontrada. Ojalá alguien sepa algún método automático para hacer eso.
 
De hecho, los themes de Gabfire usan Timthumb y a mi me hackearon un sitio instalando un phpmailer y varias patrañas más para generar spam desde mi servidor. Ahora uso themes de propia creación. Las nuevas versiones de Wordpress ya incluyen los thumbnails, y si se cambia el tamaño sólo hay que instalar Regenerate Thumbnails para que todos tengan el nuevo tamaño que le hayamos indicado.

Sobre lo que comentas, [MENTION=21765]krvaM[/MENTION] cuando yo lo usaba tenía que poner la URL de la ubicación de las imágenes en la configuración de cada imagen, sino simplemente no se mostraban. Aparecía la imagen pequeña de imagen no encontrada. Ojalá alguien sepa algún método automático para hacer eso.

Claro ahora mismo estoy haciendo eso, pero es cansador.
A lo que decias mas arriba dijiste que las nuevas versiones de wordpress ya incluyen thumbnails, dices los nuevos themes o la ultima version de wordpress?
 
Claro ahora mismo estoy haciendo eso, pero es cansador.
A lo que decias mas arriba dijiste que las nuevas versiones de wordpress ya incluyen thumbnails, dices los nuevos themes o la ultima version de wordpress?

La versión 2.9 de Wordpress incorporó la funcionalidad propia de generar thumbnails. Sólo hay que añadir esta línea en functions.php:
PHP:
add_theme_support( 'post-thumbnails' );

Y luego introducimos esta sentencia en el loop.php, o donde queremos que vaya el thumbnail:
PHP:
// check if the post has a Post Thumbnail assigned to it.
if ( has_post_thumbnail() ) {
	the_post_thumbnail();
} 
the_content();

Aunque para esto también hay una "pequeña" pega. Y es que las imágenes que aparecen en el thumbnail de Wordpress deben estar marcadas como Featured Image. Cuando creé mi theme personalizado para, entre otras cosas, dejar de uar Timthumb, tuve que abrir todos los posts ya creados para marcar la imagen como predeterminada. Es otro marrón, aunque más rápido de solucionar.

Aquí hay toda la información:
Post Thumbnails « WordPress Codex

Incluso para definir el tamaño de thumbnails, que como puedes ver en el blog de mi firma, puse un tamaño que tomase el alto de cada loop, y luego edité con CSS la apariencia de como se ve el thumbnail con:
PHP:
.wp-post-image{
(los estilos que queramos poner)
}

-----------------------------------------------------------------------------------------

Te voy a pasar mi código tal y como lo tengo puesto por si quieres (o alguien más) usarlo para su blog y cambiar el tamaño de los thumbnails:

En functions.php añado todo este código:
PHP:
// Thumbnails en el loop
if (function_exists('add_theme_support')) {
add_theme_support('post-thumbnails');
add_image_size('custom-thumbnail', 70, 70, true );
}

Y la imagen insertada dentro del loop.php, con enlace incluído hacía el artículo:
PHP:
<a href="<?php the_permalink(); ?>" title="<?php printf( esc_attr__( 'Permalink to %s', 'twentyten' ), the_title_attribute( 'echo=0' ) ); ?>"><?php the_post_thumbnail('custom-thumbnail'); ?></a>

Yo lo puse debajo del título del artículo, que en mi caso es un H2, así lo alineo con un float:left y queda a la izquierda de la descripción y el resto de datos.

Nota: Para cambiar se cambia el '70, 70' y se pone en su lugar un ancho y alto que queramos. Luego hay que instalar el plugin Regenerate Thumbnails y darle a su botoncito, todos los tamaños quedarán cambiados. La imagen que aparecerá en el thumbnail es la Featured Image de cada post.

Es una forma de no depender de tantos scripts de terceros y hacer más rápido nuestro sitio web.
 
Última edición:
Atrás
Arriba