Nueva vulnerabilidad en WordPress 2.8.x

12 de agosto de 2009 a las 16:23h

WordPress bug

La última actualización mayor 2.8.x de WordPress ha llegado como un queso de gruyere, con numerosos agujeros y otras tantas actualizaciones menores que no acaban de corregir el desaguisado. Esta noche he vivido en mis carnes la última de ellas, un bug que permite a cualquiera ejecutar un cambio de claves de los usuarios del blog ejecutando simplemente en su navegador el comando:

http://nombrededominio.com/wp-login.php?action=rp&key[]=

Adortunadamente, WordPress remite siempre al correo del usuario afectado (en este caso, todos) la nueva contraseña, por lo que el problema, en principio, no pasa a mayores y se queda en una molestia que se soluciona entrando con la nueva contraseña y cambiarla otra vez. Eso, siempre y cuando no dé alguien con la fórmula para hacerse con la nueva contraseña generada.

Por eso, cuando vi en el correo el mensaje de cambio de contraseña, pensé inmediatamente en el inicio de un ataque, lo que me obligó a cambiar las contraseñas de administración de todos los blogs. Pero cuál no sería mi sorpresa, una vez cambiadas las contraseñas, al ver que me llegaba otro correo similar. Y me dije: imposible, no se puede hackear la contraseña tan rápido.

Así que me puse a buscar en la Red y encontré un post de Arturo Goga que lo explica perfectamente. El problema está en un descuido en el código del archivo ‘wp-login’, en la misma raíz de tu directorio. Para solucionarlo, debes abrir el documento y cambiar, en la línea 190

if ( empty( $key ) )

por

if ( empty( $key ) || is_array( $key ) )

En fin, que mis alarmas fueron en vano, y todo parece deberse a la actuación de uno o un par de graciosillos. Como dice Arturo, no nos extrañe ver en unas horas una actualización a WordPress 2.8.4.

Actualización (12 ago-03.29 h): dicho y hecho. Como apunta Carballo en los comentarios, ya tenemos WordPress 2.8.4.

Sobre el autor
Manuel M. Almeida
Ver biografía