Grave vulnerabilidad en Greasemonkey

SeguridadVirus

Se ha anunciado en la lista de distribución de GreaseMonkey una grave vulnerabilidad mediante la cual un atacante remoto podría literalmente obtener acceso a cualquier fichero del sistema local comprometido.

El problema es independiente de la plataforma empleada y por tanto, la explotación es posible en cualquier sistema operativo que opere con Greasemonkey.

Greasemonkey es una extensión para Mozilla Firefox que permite añadir porciones de scripts de usuario DHTML a cualquier página para cambiar su comportamiento. Mediante esta extensión, es habitual encontrar scripts desarrollados por la comunidad de usuarios, con el fin de mejorar la usabilidad de los sitios web que frecuentamos.

A través de una vulnerabilidad todavía sin documentar claramente, sería posible explotar el sistema comprometido a través de peticiones del tipo GM_xmlhttpRequest y acceder a cualquier archivo legible del sistema comprometido. El problema afecta a todas las versiones de Greasemonkey inferiores a 0.3.5.

Por citar un ejemplo, el siguiente exploit consigue acceder al fichero boot.ini, presente en cualquier sistema moderno Microsoft Windows:

http://diveintogreasemonkey.org/experiments/localfile-leak.html

Para añadir más gravedad al problema, ni siquiera existe necesidad de saber el nombre del archivo al cual queremos acceder. La vulnerabilidad permite obtener vía GET listados de directorios a través de URLs del tipo “file:///c:/” , lo que nos devolvería una estructura de directorio totalmente accesible.

Adicionalmente, GM_xmlhttpRequest permite el uso de GET y de POST, con lo que la información obtenida podría ser enviada a cualquier lugar sin nuestro conocimiento.

Hispasec recomienda, de modo urgente e inmediato, en consonancia con las directrices del equipo de mozdev.org, la desinstalación o en su defecto, la desactivación de Greasemonkey hasta la publicación de una versión de la extensión que corrija el problema. Opcionalmente, se puede instalar la versión 0.3.5, que, como medida cautelar, neutraliza la presencia de APIs en Greasemonkey, y por tanto, la posibilidad de explotación del bug descubierto.