Leo en Hispasec, esta noticia:
Michal Zalewski vuelve a hacer de las suyas. Ha descubierto y publicado cuatro vulnerabilidades que se reparten por igual entre los dos navegadores más usados del momento: Internet Explorer y Mozilla Firefox.
* El primer fallo se debe a un problema con los IFRAMES en Firefox.
El navegador permite por error que páginas arbitrarias reemplacen los IFRAME de webs a través del método document.write(). El problema parecía resuelto hace un año, pero se ha descubierto un nuevo vector de ataque a través de about:blank que permite su explotación. La consecuencia directa es que, por ejemplo, se podría modificar el contenido de una página legítima (un ataque muy «apropiado» para el phishing) o incluso (y esto se demuestra en la prueba de concepto programada por Zalewski) interceptar las pulsaciones de teclas cuando la víctima visita una página legítima.
* La mayoría de los navegadores modernos deshabilitan los botones de «aceptar» de los cuadros de diálogo durante unos segundos cuando se va a descargar algo, para que el usuario no actúe por instinto y ejecute demasiado rápido lo que no debe. Firefox comete un error a la hora de trabajar con el temporizador que inhabilita el botón de «Aceptar», de forma que es posible saltarse esta medida e incluso ejecutar lo descargado sin intervención del usuario. Además, este fallo permite visualizar ficheros locales e incluso se podrían enviar a través de la red.
* Zalewski también ha encontrado errores en Internet Explorer. Existe una condición de carrera cuando, a través de código JavaScript, se navega hacia otra página. Se trata de un intervalo de tiempo (cuya duración depende de muchos factores) durante el cual, el código JavaScript podría realizar cualquier acción que se le permitiese sobre la página que se abandona, pero actuando sobre el contenido de la nueva página. Esto da pie una serie de ataques que, según la imaginación del atacante, podrían permitir desde el robo de credenciales hasta la ejecución de código arbitrario. Para Zalewski, esta condición de carrera echa por tierra todo el sistema de seguridad del navegador.
* En Internet Explorer 6 (y sólo en esta versión) se puede falsificar la URL a través de un error similar en cierta manera al problema encontrado hace unos meses con el método onUnload. Esto también resulta un ataque muy «apropiado» para el phishing.
Por si fuese poco, se acaba de conocer que Firefox tampoco ha reparado en su última versión (2.0.0.4) un fallo que permitía a un atacante tener cierto acceso a ficheros locales. En Linux y Mac OS el problema sigue ahí tal cual. En Windows, con la nueva versión, se limitó el ataque al directorio de instalación del navegador, pero se han abierto nuevos vectores de ataque que lo siguen manteniendo vulnerable.
Zalewski ha publicado todas las pruebas de concepto en su página, explicando el problema y demostrando las vulnerabilidades. Una vez más, vuelve a publicar los detalles de los fallos en listas especializadas sin tapujos. Desde hace tiempo, este polaco se ha convertido en el azote de la seguridad en los navegadores, demostrando en especial que Firefox sufre problemas de seguridad que en muchas ocasiones no son reparados o parcheados por completo. También se centra en Internet Explorer, aunque parece que en menor medida hasta ahora. En una de las páginas de su web, deja entrever que Opera, Safari o Konqueror no le interesan lo más mínimo, pues ni siquiera se ha molestado en comprobar que puedan llegar a ser vulnerables o no a estos errores.
Los dos navegadores más usados, siguen siendo así vulnerables a problemas serios con graves consecuencias. Si se utilizan conviene aprovechar las zonas de Internet Explorer para navegar sin ejecución de JavaScript por defecto, o la extensiones de Firefox para conseguir el mismo efecto. Por supuesto, también es imprescindible evitar las cuentas de administrador o root para ejecutar el navegador. Estas medidas son además aplicables a los usuarios de otros navegadores, pues el hecho de no estar en el punto de mira no impide que sean más o menos vulnerables.