Diversas vulnerabilidades en Opera 7.0
En total se describen tres vulnerabilidades críticas, ya que pueden ser utilizadas para acceder al contenido de cualquier archivo del disco del usuario
El fantasma de la Ópera
La consola de JavaScript de Opera utiliza tres archivos que se encuentran en el directorio raíz del programa. La función de la consola es mostrar las excepciones no controladas que se producen en cada sesión.
La consola incluye el código necesario para visualizar las URL como enlaces activos. No obstante, debido a la insuficiencia de los controles aplicados, un atacante puede inyectar sus propios atributos de código al enlace. Con un poco de manipulación, el atacante puede aprovechar esta vulnerabilidad para forzar la ejecución de código script arbitrario.
Opera 7.0 no realiza ninguna comprobación en una URL que apunta al disco del usuario (file//) para la visualización de un gráfico. Como consecuencia de esta ausencia de controles, un atacante puede inyectar código en la URL que le permite acceder al contenido de cualquier archivo residente en la máquina del usuario.
Opera 7.0 no protege el acceso desde JavaScript al histórico de URL visitadas por el usuario. Así un atacante puede obtener la última URL visitada por el usuario, así como la siguiente (las URL a las que se accede, respectivamente, con el botón Atrás y Adelante del navegador).
Como en el caso anterior, Opera 7.0 no impide que una función JavaScript obtenga la relación de todas las URL visitadas por el usuario en una sesión que provoquen algún tipo de excepción. Como la configuración por defecto de Opera 7.0 es la de identificarse como Internet Explorer, muchas páginas web provocan errores. Aprovechando esto y la vulnerabilidad, el atacante puede identificar fácilmente las URL que ha visitado el usuario.
Opera ha publicado recientemente la versión 7.01 para Windows que soluciona todas estas vulnerabilidades.