Una grave vulnerabilidad en el mIRC, el popular cliente de
IRC para Windows, permite a un servidor de IRC remoto
malicioso, ejecutar cualquier código en forma arbitraria, en
la máquina del usuario que se conecte a él.
Cuando se solicita información al servidor host del usuario
(USERHOST), el mIRC asume que la información a recibir será
menor de 110 bytes. Si la cadena devuelta por el servidor es
mayor, se produce un desbordamiento de búfer en la memoria
del programa. Eso sobrescribe el puntero de instrucción EIP.
El registro EIP es un puntero de instrucciones (registro
índice), que al ejecutarse el código de un programa, le
indica al procesador la dirección de memoria en que se
encuentra la siguiente instrucción dentro de dicho segmento
de código. Con cada instrucción que se ejecute, este registro
(en circunstancias normales), se actualiza automáticamente.
La víctima no necesita escribir directamente la petición
USERHOST (/dns), ya que el propio cliente mIRC envía dicha
solicitud al conectarse con un servidor.
<- :server.com 001 Victim :Welcome
-> :server.com USERHOST Victim
El servidor responde:
<- :server.com 302 Victim:Victim=+~b@cnqXX-XXX.cablevision.qc.ca
Local host: cnqXX-XXX.cablevision.qc.ca (24.212.XX.XXX)
Si la respuesta devuelta es maliciosa y supera los 110 bytes,
se produce el desbordamiento.
Para que el ataque ocurra, el atacante necesita que su
víctima se conecte a su servidor (irc://).
Existe un exploit disponible en Internet que se aprovecha de
esta falla.
La vulnerabilidad afecta las versiones 6.01 a 6.1 inclusive,
y no hay solución a la fecha.
El vendedor fue notificado, y el problema sería solucionado
en la próxima versión del programa (la actual es la 6.1, la
cuál es vulnerable).
* Reportado por: SecuriTeam.com
* Relacionados:
Descarga del mIRC
http://www.mirc.com/get.html
Ya hay un exploit de ejemplo publicado y disponible en la siguiente
dirección:
http://www.securitylab.ru/_exploits/userhost.zip
(c) Video Soft – http://www.videosoft.net.uy
(c) VSAntivirus – http://www.vsantivirus.com