Grave vulnerabilidad en Wordpress
Mariano recien posteaba que anda dando vueltas una muy grave vulnerabilidad en WP y aconsejaba a todos los bloggers a hacer backup.
Efectivamente, es así, según Secunia:
Input passed to the “cache_lastpostdate” parameter via cookies is not properly sanitised before being used. This can be exploited to inject arbitrary PHP script code.
En español indio: “Las entradas pasadas al parametro “cache_lastpostdate” mediante cookies, no son seguras. Esto permite inyectar cualquier codigo PHP”. Esta vulnerabilidad fue descubierta ayer 10 de Agosto y afectaría a las versiones 1.5.1.3 de Wordpress, pero no se descarta que también a versiones anteriores.
Para que esta vulnerabilidad sea explotada, la directiva de PHP register_globals tiene que estar activada (o sea, tiene que estar en on). Cómo saber si tu servidor tiene esa directiva activada? Ejecutando la función php_info(). Copiá y pegá el siguiente código en un archivo con extensión .php y subilo a tu servidor, ejecutalo y luego buscá la directiva register_globals, si tiene el valor on, es probable que seas susceptible a este tipo de ataque:
< ?
phpinfo();
?>
Así que hagan backup de su Wordpress ahora, o bajen una nightly build, que al parecer en una de esas versiones ya estaría arreglado el problema.
Actualización: Al parecer reemplazando una linea en el archivo /wp-includes/functions.php, el problema estaría solucionado. Buscá la línea:
$lastpostdate = $cache_lastpostdate[$timezone];
Y reemplazala por:
$lastpostdate = preg_replace('/[^0-9 :\-]/','',$cache_lastpostdate[$timezone]);
Todo esto es no-oficial, así que estás advertido ;)
Actualización (y vamos): Había un error en las comillas de línea anterior. ¡Gracias Fede por el chiflido!


frank
a la reemplaze, tantas veces he perdido posts y comentarios que ya estoy un paranoico