miércoles, 20 de agosto de 2003

Múltiples vulnerabilidades en clientes eMule/xMule/Lmule

Descubiertas importantes vulnerabilidades en eMule, xMule y Lmule, que
potencialmente permiten a un atacante comprotemer de forma remota los
equipos que ejecuten las versiones afectadas. Hispasec recomienda a
todos los usuarios que actualicen a la última versión disponible de
forma inmediata.

Los clientes nombrados son unas de las herramientas más utilizadas
entre los usuarios de las famosas redes de intercambio de archivos
p2p, que en este caso funcionan bajo redes edonkey2000. EMule corre
bajo plataformas Windows, mientras que xMule y Lmule lo hacen sobre
Unix.

La gran cantidad de usuarios de estas redes (millones), y el hecho de
que la mayoría no suelen estar al tanto de actualizaciones ni avisos
de seguridad, los convierten en un objetivo apetecible para los
crackers y script-kiddies. En último caso pueden dar la oportunidad a
asociaciones como la RIAA (la Asociación Estadounidense de la
Industria de la Grabación), u otras que nos tocan más cerca, de
ejercer aun más presión.

Dada la gravedad de las vulnerabilidades, Hispasec solicita se de la
máxima difusión a esta nota entre los foros más concurridos por los
usuarios de estos programas.

Las versiones afectadas son:

eMule <= 0.29c
Lmule <= 1.3.1
xMule <= 1.4.3, <= 1.5.6a (corregidas parcialmente)

Los usuarios de eMule ya disponen de la última versión 0.30a que
corrige todas las vulnerabilidades. Los usuarios de Lmule deben
cambiar a xMule debido a que los desarrolladores han abandonado el
proyecto en favor de este último. En el caso de xMule las últimas
versiones disponibles han corregido dos de las cuatro
vulnerabilidades, y se espera que en breve se libere una nueva
versión que haga lo propio con el resto.

Entrando con más detalle en las vulnerabilidades, la primera afecta a
la función que recoge los mensajes del servidor (OP_SERVERMESSAGE).
Un servidor podría actuar de forma maliciosa formateando de forma
especial dichos mensajes para provocar el bloqueo del cliente o
conseguir el control total del sistema afectado.

La siguiente también puede ser provocada desde un servidor malévolo,
en esta ocasión explotando un heap overflow en la función que recoge
la identificación del servidor (OP_SERVERIDENT), con las mismas
implicaciones de seguridad que las comentadas anteriormente.

La tercera de las vulnerabilidades, muy similar a la primera, se
basa en alterar el formato de los mensajes que se utilizan para dar
los nombres de los nuevos servidores que deben de agregarse a la
lista de servidores. Sin embargo en esta ocasión es mucho más
complicado que pueda lograrse con éxito la ejecución de código
arbitrario y tomar el control del sistema afectado, por las
limitaciones de tamaño impuestas a la variable.

Sobre la última vulnerabilidad no han ofrecido muchos detalles, pero
concierne al envío de una secuencia de paquetes perfectamente
normales que pueden producir una condición de error cuando su objeto
es eliminado.


Francisco Javier Santos
fsantos@hispasec.com


Más información:

emule/xmule/lmule remote vulnerabilities
http://security.e-matters.de/advisories/022003.html

eMule Project
http://www.emule-project.net/

xMule P2P Client
http://www.xmule.org/

Lmule Homepage
http://lmule.sourceforge.net/news.php