Password Reset en WordPress. Mas problemas de seguridad en WordPress 2.8.3. Como arreglarlos!

El día de hoy, cuando intenté loggearme a WordPress, obtuve un error, alertándome que el password era incorrecto. Y de hecho, tras revisar mi email, vi que se habían producido pedidos para recuperar / resetear el password.

Lo que sucede, es que se trata de una nueva vulnerabilidad de WordPress que afecta incluso hasta la última versión disponible hasta el día de hoy (la 2.8.3).

Todos pueden resetear una contraseña de cualquier blog en  WordPress, sin necesidad de conocer ni el nombre de usuario, ni el correo electrónico asociado a la cuenta!

Picture 7

Así es, nos afecta a todos.

Quieren probarlo?

Sólo necesitan un navegador web.

Basta que pongan lo siguiente en la barra de direcciones: http://nombrededominio.com/wp-login.php?action=rp&key[]=

Esto, reseteará el password de las cuentas asociadas en WordPress, sin pedir ninguna confirmación.

Si bien no es una manera de ganar acceso al blog, este exploit permite que cualquier persona simplemente deshabilite las cuentas de los usuarios en WordPress, obligándolos a revisar el correo por los passwords generados. Todo un dolor de cabeza.

 

Cómo solucionarlo?

De momento, incluso la versión 2.8.3 –la más reciente- se ve afectada (así que no se sorprendan cuando vean la 2.8.4 antes del fin de semana).

Para solucionarlo de manera temporal, tenemos que abrir los archivos de configuración de WordPress en nuestro servidor, ubicar wp-login.php, dirigirnos a la línea 190 y cambiar

if ( empty( $key ) )

Por

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

 

Una vez hecho esto, vuelvan a probar el exploit, y verán que ya no funciona. Simple!

vía zdnet / wordpress trac

 

 

Bonus Tip: Eliminar el usuario admin

WordPress crea, por defecto, el usuario admin en todos los blogs como el usuario principal. Es decir que en todo el mundo, el nombre de usuario de un blog es conocido por todos.

Esto significa, pues, que resulta bastante vulnerable a un ataque de “fuerza bruta”, donde se intenta averiguar el password con miles de intentos.

Para ayudar a prevenir este tipo de ataques o, al menos, añadir una barrera de seguridad extra, lo que es conveniente es eliminar al usuario “admin” de nuestro blog y crear otro usuario que tenga los mismos privilegios.

Picture 8

Cómo?

Vayan, en el panel de configuración de WordPress, en el menú a la mano izquierda, a “Usuarios”. Ahí verán la opción de añadir uno nuevo.

Aquí verán los datos regulares, como el nombre de usuario, primer nombre, etc. No se olviden de elegir un nombre de usuario difícil de adivinar. Pero definitivamente, cualquier cosa será mejor que “admin”. Además, en la parte inferior, la opción de “Rol”. Asegúrense de elegir “Administrador” en este campo, además de, por supuesto, un password largo y seguro.

 Picture 10

Una vez hecho esto, cierren sesión de su cuenta actual (admin), y entren con la nueva. Ahora, vayan, en el menú, a “Autores y Usuarios”, y cuando vean a Admin, denle click en Delete / Eliminar.

No se preocupen por todos los posts escritos con la cuenta de “Admin”. Verán que pueden fácilmente transferirlos al nuevo usuario que han creado. Sólo asegúrense de no darle “Delete” a los posts / comentarios dejados con dicha cuenta.

Simples tip, pero que ayudará a tener una instalación más segura de WordPress… eso es, hasta que se descubra una nueva vulnerabilidad.