Ayer no entendia la razón por la cual habia aparecido otra versión de WordPress, esta mañana me dí cuenta, intentaron resetear la contraseña de mi blog, por fortuna soy bastante paranoico y con lo mal que anda ultimamente el equipo de desarollo de WordPress he preferido no actualizar.
Basicamente lo que permite esta vulnerabilidad es resetear la contraseña del usuario administrador sin necesidad de confirmación, el error se encuentra en el archivo wp-login.php que no hace la validación de manera correcta.
La manera de explotar esta vulnerabilidad es bastante sencilla, tan solo basta visitar el sitio en cuestión mediante un enlace como este:
http://www.dominio.com/wp-login.php?action=rp&key[]=
Y listo, el reseteo se realiza, como habia mencionando, la validación no se está llevando a cabo de manera correcta. La solución es bastante sencilla, basta con actualizar a la nueva versión o modificar en el archivo wp-login la línea 190 (para WP 2.8.3) 0 línea 196 (para versiones anteriores):
if ( empty( $key ) )
Por la siguiente:
if ( empty( $key ) || is_array( $key ) )
Esta solución funciona aunque es bastante recomendable actualizar por completo.
Si quieren leer más sobre esta vulnerabilidad pueden visitar el siguiente full-disclosure.



Fuí yo, solo era para probar, no te asustes!
↵ Responder