Grave vulnerabilidad en Yahoo! Messenger (y prueba de concepto)

El día 7 de junio, se descubría una grave vulnerabilidad en unos ActiveX de Yahoo! Messenger que permitía la ejecución de código arbitrario a través de la web.

El código necesario para aprovechar el problema se hizo público, y obligó a Yahoo! a publicar, apenas unas horas después, una nueva versión de su producto. Ofrecemos una prueba de concepto para que cualquiera pueda comprobar a qué se está expuesto con esta vulnerabilidad.

Las dos vulnerabilidades se encontraban en las utilidades Webcam Image Upload y View de Yahoo! Estos Controles Active X son instalados por defecto como parte de Yahoo! Messenger y son accesibles a través de Internet Explorer. Esto permite crear páginas especialmente manipuladas que ejecuten código en el sistema con los privilegios del usuario que lance la aplicación. El problema concreto reside en Yahoo! Webcam Upload (ywcupl.dll) y Yahoo! Webcam Viewer (ywcvwr.dll) y en sus respectivas propiedades “server”. Se puede provocar un desbordamiento de pila que conllevaría una ejecución de código. Las versiones vulnerables de estas librerías son la 2.0.1.4 (y anteriores) para ambas.

Lo que hace realmente peligrosa esta vulnerabilidad, es que el problema es aprovechable a través de Internet Explorer, capaz de acceder a esas DLL a través de ActiveX. Yahoo! actuó rápidamente y pocas horas después de hacerse público el anuncio lanzó su versión 8.1.0.401, que solucionaba el problema sustituyendo a la 8.1.0.249.

En Hispasec hemos preparado una prueba de concepto que aprovecha la vulnerabilidad y permite la descarga y ejecución de código con sólo visitar una página web. El archivo de prueba que hemos preparado se descarga al directorio raíz (C:) del usuario con nombres aleatorios compuestos por una sola letra (con el formato X.exe). El programa descargado es una aplicación inofensiva alojada en nuestros servidores, que simula que la pantalla se derrite. Cuando se cierra esta aplicación, el proceso explorer.exe puede ser reiniciado, sin causar perjuicio alguno en el sistema. Después de realizar la prueba, si se es vulnerable, se recomienda borrar el archivo descargado. Algunos antivirus detectarán la página que aprovecha la vulnerabilidad como troyano, y el programa como “joke”, o broma, pero insistimos en lo inocuo de la prueba de concepto y el programa.

La prueba de concepto está alojada en: (ATENCIÓN: Si se visita con Yahoo! Messenger sin parchear e Internet Explorer, descargará y ejecutará una aplicación que simula que la pantalla se derrite. Es posible que después de esto el proceso explorer.exe se reinicie): http://blog.hispasec.com/laboratorio/recursos/yahooi/exploit.html

Si se es vulnerable y el programa llega a ejecutarse, se recomienda encarecidamente actualizar Yahoo! Messenger desde http://messenger.yahoo.com/download.php

Con esta prueba de concepto, se pretende demostrar lo grave de la vulnerabilidad. En lugar de una aplicación inofensiva, que insistimos algunos antivirus pueden detectar como “joke” (broma), un atacante podría utilizar una página web, o un mensaje con formato HTML, para distribuir virus, gusanos o troyanos que infectarían de forma automática y transparente al usuario. La vulnerabilidad a día de hoy sigue siendo aprovechada y no todos los antivirus son capaces de detectar la página del exploit como potencialmente peligrosa. En muchas ocasiones, los usuarios no actualizan el software que no forme parte del sistema operativo. Esta es una excelente excusa para que se siga la misma política con el sistema operativo que con los programas que se ejecutan en él.

Para aquellos lectores que ya hayan actualizado su sistema y no sean vulnerables, pueden visualizar un vídeo en el que se muestra el efecto del exploit en: http://www.hispasec.com/laboratorio/video_yahoo.htm

Desde Hispasec, como siempre, recomendamos desactivar los ActiveX en la zona de Internet del navegador Internet Explorer, y ejecutar éste con los mínimos privilegios.