Controlado desde el
19/10/97 por NedStat
|
Desbordamiento de búfer en Net Monitor (Shell32.dll)
|
|
VSantivirus No. 1060 Año 7, Lunes 2 de junio de 2003
Desbordamiento de búfer en Net Monitor (Shell32.dll)
http://www.vsantivirus.com/vul-netmonitor-shell32.htm
Por Redacción VSAntivirus
vsantivirus@videosoft.net.uy
Net Monitor es una herramienta para analizar el tráfico que se incluye con algunas versiones de Windows. El programa permite analizar archivos de captura (.cap) además de capturar el tráfico. Si se abre un archivo de captura cuyo nombre tenga un largo de 252 bytes (caracteres), Net Monitor se cierra con un mensaje de violación de acceso.
Ello sucede porque el Puntero de Instrucción del programa es sobrescrito con el nombre del archivo convertido a UNICODE (conjunto de caracteres ASCII que utiliza dos bytes en lugar de uno para cada carácter). Básicamente Unicode proporciona un número único para cada carácter, sin importar la plataforma, ni el programa, ni el idioma, permitiendo un fácil traspaso entre distintos sistemas de codificación y plataformas.
El Puntero de Instrucción (IP), es el registro del procesador que "apunta" a la dirección de memoria de la instrucción que actualmente se está ejecutando. Cambiar ese dato hace que el programa (y el propio procesador) pierdan el control de la ejecución con resultados imprevisibles.
El desbordamiento también afecta las variables adyacentes en la pila (stack), el espacio de memoria reservada para almacenar las direcciones de retorno en tiempo de ejecución y otra información importante para la ejecución de los programas.
Para hacer uso malicioso de un código ejecutable mediante este fallo, se tiene que situar el mismo en una variable de entorno del sistema.
El fallo parece producirse al hacer la conversión a Unicode, ya que se duplica la cantidad de bytes de la cadena
del nombre (de 252 bytes pasa a 504 bytes).
En el enlace al final de esta noticia, existe un exploit para comprobar esta falla.
La vulnerabilidad, descubierta por David F. Madrid, redactor de Nautopía y colaborador de VSAntivirus, fue informada hace ya algunos meses a Microsoft. Ante la falta de respuestas concretas (solo intercambios de mensajes solicitando más pruebas, etc.), David resolvió hacerlo público.
La falla fue probada en Windows 2000 Server SP3, Shell32.dll versión 5.0.3502.5436
Créditos: David F. Madrid <idoru@videosoft.net.uy>
Relacionados:
Desbordamiento de buffer local en SHELL32.dll. Net monitor
http://maty.galeon.com/vulnerabilidades/shell32_getOpenFileNameW.htm
(c) Video Soft - http://www.videosoft.net.uy
(c) VSAntivirus - http://www.vsantivirus.com
|
|
|