Saturday 9 January 2010

Wordpress Administration Interface < 2.9 HTML and Script code Injection Vulnerability

Hola,

El siguiente es un  aviso de seguridad para Wordpress en versiones anteriores a 2.9.
Debido a la falta de validación de la entrada proporcionada por el usuario, el parámetro insertonly[href] no ha sido correctamente filtrado por lo que es posible injectar código HTML y de script en el contexto del navegador de la victima.

El bug se encuentra en el fichero admin/media-upload.php y aquí podemos ver un PoC:

<form action="http://site/wordpress/wp-admin/media-upload.php?type=file&tab=type_url&
post_id=0" enctype="multipart/form-data" method="post">
<input name="insertonly[href]" size="80" type="text" 
value="');</script>Wordpress XSS PoC<script>alert(document.cookie);</script><script> a('"/>

<input name="insertonlybutton" type="submit" value="Test PoC" />

</form>


Este bug podría ser usado, si se implementara un autosubmit del formulario y se enviaran las cookies de sesión a un servidor externo para el robo de cuentas, pudiendo llegar a obtener la cuenta de administración sin necesidad de tener una cuenta en el sistema (nótese que además del XSS, al no existir una validación con token, estamos ante un XSRF, por este motivo, no es necesario estar en posesión de una cuenta para explotar la vulnerabilidad).

El equipo de seguridad de Wordpress fue avisado del bug y publicaron la versión 2.9 que corrige la vulnerabilidad. La solución es actualizar a la versión 2.9 o 2.9.1 que acaban de publicar.

Referencias:

http://www.wordpress.org/

Saludos

1 comment: