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.
(Hispasec) 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.
http://www.hispasec.com/unaaldia/2460