SummArg | Cursos y recursos para webmasters

11/08/2009

Forzar reinicio de contraseñas

Gracias a AyudaWordpress y a sus mensajes en Twitter, me entero de esta vulnerabilidad que posee WordPress y que aún no ha sido solucionada con parche oficial (o sea que afecta a la 2.8.3).

La falla permite resetear contraseñas sin necesidad de clickear en el link que se envia por email cuando se solicita una nueva pass desde /wp-login.php?action=lostpassword. Por mail se enviaría un link similar a esto:

http://DOMAIN_NAME.TLD/wordpress/wp-login.php?action=rp&key=o7naCKN3OoeU2KJMMsag

Clickeando dicho link se reiniciaría la contraseña. Ahora bien, el error consiste en que hay modos de saltear el proceso de enviar la key confirmando el cambio de password. La clave del administrador se puede reiniciar desde el navegador con solo introducir:

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

La contraseña se reiniciará sin confirmación alguna.

Martín nos indica que podemos solucionarlo modificando la linea 190

if ( empty( $key )  )

por esto

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

Podés bajar esta versión modificada del archivo wp-login.php del trac si no lográs hacer que funcione la solución arriba indicada.

Te recomiendo que una vez que hayas “parcheado” intentes probar la vulnerabilidad tal como lo indicamos y si arroja error entonces podés ir a dormir tranquilo (no sin antes hacer un backup previamente!).

Compartí la noticia con otros administradores de WordPress!

Dejar un comentario

  1. […] fue un poco amarga para mi, primero porque hubo que actualizar “de raje”  debido a la vulnerabilidad descubierta en la versión anterior y segundo porque un par de blogs me entraron a tirar errores […]

Dejar un comentario