martes, 25 de marzo de 2008

Múltiples vulnerabilidades en Apple Safari

Apple publicó la pasada semana una nueva actualización para su navegador Safari, en la que se corrigen múltiples vulnerabilidades que podrían ser aprovechadas por atacantes remotos para saltarse restricciones de seguridad, perpetrar ataques de cross-site scripting o ejecutar código arbitrario en un sistema vulnerable. A pesar de que la última actualización solventa 13 vulnerabilidades, recientemente se han encontrado otros dos problemas de seguridad no parcheados en Safari 3.1, y que podrían ser aprovechadas para falsificar el contenido de una web, causar una denegación de servicio o incluso ejecutar código arbitrario.

Safari es un popular navegador web desarrollado por Apple. Su primera versión beta vio la luz el 7 de enero de 2003 y desde entonces ha estado incluido en las sucesivas versiones de Mac OS X. Safari está también disponible para otros sistemas operativos, existen versiones oficiales para Windows XP y Vista, además de otra no oficial para Linux.

Los dos últimos problemas de seguridad descubiertos afectan a Safari 3.1 bajo Windows, aunque también podrían darse en otras plataformas. Son los siguientes:

* Existe un error al descargar archivos con un nombre demasiado largo que podría causar una corrupción de memoria, provocando una denegación de servicio, e incluso, permitiendo la ejecución remota de código arbitrario.

* Se ha encontrado otro problema en el manejo de ventanas que podría ser aprovechado para falsificar un sitio web, mostrando un contenido que no correspondería a la dirección que se muestra en la barra de direcciones.

A continuación se describen brevemente las vulnerabilidades corregidas por Apple en la versión 3.1 de Safari y que afectarían a todas las versiones anteriores del navegador.

* Existe un error en WebKit que podría permitir que instancias de métodos de un frame fueran llamados en el contexto de otro frame, lo que podría dar lugar a ataques de cross-site scripting.

* Se ha encontrado un error en el manejo del objeto history que podría ser aprovechado para inyectar código JavaScript arbitrario en el contexto de seguridad del navegador (cross-site scripting).

* La política de navegación de frames no se aplica por imposición en los Java applets, lo que podría ser aprovechado para perpetrar ataques de cross-site scripting o escalar privilegios si un usuario visita una página web especialmente manipulada.

* Se ha encontrado un problema en el método de entrada Kotoeri por el que se podría mostrar el valor del campo password en texto claro cuando se realiza una petición de conversión inversa.

* Existe un error al manejar páginas web que han habilitado de forma explícita la propiedad document.domain. Esto podría ser aprovechado para perpetrar ataques de cross-site scripting en sitios que tengan la propiedad activada o entre sitios web HTTP y HTTPS con el mismo document.domain.

* Se ha localizado otro error no especificado en el manejo de la propiedad document.domain que podría ser aprovechado para conducir ataques de cross-site scripting.

* Se ha encontrado un error de límites al manejar expresiones regulares javascript que podría ser explotado para causar un desbordamiento de búfer. Esto podría ser aprovechado por un atacante remoto, por medio de una página web especialmente manipulada, para ejecutar código arbitrario.

* Existe un error en el manejo de la función window.open() que podría ser aprovechado para perpetrar ataques de cross-site scripting.

* Se ha encontrado un error en Web Inspector que podría ser aprovechado para inyectar código script, que se ejecutaría en otros dominios y que sería capaz de leer el sistema de archivos del usuario (escalar privilegios) cuando se inspecciona una página web especialmente manipulada.

* Existe un error al procesar URLs “javascript:” que podría ser aprovechado para ejecutar código HTML o JavaScript arbitrario en el contexto de otro sitio web, por medio de una página web especialmente manipulada.

* Se ha encontrado que la página de error de Safari es vulnerable a ataques de cross-site scripting.

* Se ha detectado una vulnerabilidad que podría ser aprovechada por un servidor proxy malicioso para falsificar sitios web seguros.

* La última vulnerabilidad tiene lugar en la validación de certificados y podría ser aprovechada para que un certificado no confiable apareciera como confiable.

Se recomienda actualizar a la versión 3.1 de Safari, que puede ser instalada a través de la funcionalidad de actualización (Software Update) de Mac OS X o, según versión y plataforma, descargándola directamente desde:
http://www.apple.com/support/downloads/
http://www.apple.com/safari


Pablo Molina
pmolina@hispasec.com


Más información:

About the security content of Safari 3.1
http://docs.info.apple.com/article.html?artnum=307563

Safari browser 3.1 (525.13) spoofing
http://archives.neohapsis.com/archives/bugtraq/2008-03/0332.html

Safari 3.1 for windows download bug
http://archives.neohapsis.com/archives/bugtraq/2008-03/0324.html