Solución a la inyección SQL en WordPress 2.1 y 2.0.x

Autor: Armonth | El miércoles 23 de mayo del 2007 @ 23:13.

El bug que comenté hace casi 24 horas para WordPress 2.1 parece ser que también afecta a la rama 2.0 de WordPress. El ticket (con exploit incluido) es el #4322 Sql injection blind fishing exploit.

El bug está arreglado en WordPress 2.2 y lo estará en 2.0.11 (que será lanzada en muy breve tiempo) pero vamos a arreglarlo manualmente porque es demasiado fácil de usar.

El fichero a editar en 2.0.x es el wp-includes/pluggable-functions.php, la línea 121 que corresponde a return $userdata (única coincidencia en el fichero), en WordPress 2.1.x es lo mismo pero el fichero se llama pluggable.php y después de esa línea se debe añadir una línea para que quede así (ver Changeset 5442):

  if ( $userdata ) 
        return $userdata;

   $user_login = $wpdb->escape($user_login);

El bug al afectar a la rama 2.1 (no actualizados) y a la 2.0.x (los que pensábamos que estábamos libres) y obtener los hash de usuarios es muy peligroso así que pido la máxima difusión a esta información o vamos a ver caer blogs como moscas.

Comentarios