Un argumento excesivamente largo en CMD.EXE, el intérprete de comandos de Windows NT y 2000, provoca un desbordamiento de búfer que a su vez puede derivar en la denegación de servicio del sistema al consumir toda la memoria.
Tras provocar el desbordamiento de búfer el sistema muestra un cuadro de diálogo con el mensaje de error, cuando esta ventana es cerrada el sistema libera la memoria ocupada por el proceso. El problema surge en los sistemas donde por cualquier causa, como por ejemplo ausencia del administrador en la sesión, esta ventana no es cerrada, por lo que un continuo ataque utilizando esta técnica acabaría por acaparar toda la memoria del sistema.
Esta vulnerabilidad puede ser explotada remotamente en aquellos servidores que utilicen el intérprete de comandos junto con parámetros obtenidos desde el cliente. Esta situación es común en muchos servidores webs que ejecutan ficheros de procesos por lotes como scripts CGIs cuyos parametros pueden ser introducidos fácilmente, por ejemplo, a trav’s de la URL del navegador.
Microsoft ha facilitado los parches correspondientes de forma que CMD.EXE compruebe la longitud de los parametros que se le pasan e impida argumentos excesivamente largos que provoquen el desbordamiento de bofer.
Parche:
Windows NT 4.0
http://www.microsoft.com/Downloads/Release.asp?ReleaseID=20494
Windows 2000
http://www.microsoft.com/Downloads/Release.asp?ReleaseID=20503
M s informaci¢n:
Patch Available for «Malformed Environment Variable» Vulnerability
http://www.microsoft.com/technet/security/bulletin/ms00-027.asp
Bernardo Quintero
bernardo@hispasec.com