Nueva vulnerabilidad en WordPress 2.0.3

Autor: Armonth | El jueves 06 de julio del 2006 @ 17:00.

Actualización: parche actualizado. Se usa is_int() en lugar de is_numeric().

Leo en La Brujula Verde sobre un nuevo fallo de seguridad en WordPress 2.0.3 el cual se aprovecha de una forma muy sencilla. Solamente hay que acceder a un blog en WordPress por su dominio + index.php?paged=f. Normalmente f es un valor númerico correspondiente a la página a visitar dentro del índice de entradas pero se olvidaron añadir la comprobación pertinente para el valor y por lo tanto se pueden poner cáracteres no númericos.

Al hacerlo, como es lógico, WordPress dará varios errores y estos errores sirven para ver, entre otros datos poco sensibles, el prefijo de las tablas de WordPress en la base de datos MySQL. Como digo, son datos poco sensibles, pero cuando se quiere atacar un sitio darle más información de la necesaria puede ayudar a que el ataque sea llevado con éxito.

También lo comenta anieto2k ofreciendo un parche temporal que se debe aplicar en el fichero wp-blog-header.php justo después de la primera línea:

// Comprobamos que paged sea númerico
if (isset($_GET['paged']) && !is_int($_GET['paged']))
  die("Ha ocurrido un error");

El parche lo he aplicado y funciona al 100% :)

Comentarios