Controlado desde el
19/10/97 por NedStat
|
WinRAR falla al determinar el tamaño de un archivo (DoS)
|
|
VSantivirus No. 1165 Año 7, Lunes 15 de setiembre de 2003
WinRAR falla al determinar el tamaño de un archivo (DoS)
http://www.vsantivirus.com/ev-vul-winrar.htm
Por Enciclopedia Virus (*)
http://www.enciclopediavirus.com/
[Publicado con autorización de Enciclopedia Virus]
Un atacante puede crear un archivo .RAR modificado de tal modo que WinRAR lo descomprima sin examinar previamente el espacio disponible en el disco duro de su víctima, causando un ataque de denegación de servicio (DoS). También es afectado UnRAR de Unix.
WinRAR es una de las utilidades más populares de compresión de archivos para Windows.
Sin embargo, esta utilidad determina en forma incorrecta el tamaño real de los archivos comprimidos grabados en formato .RAR, al leer esta información desde el cabezal (header) del archivo comprimido.
Esto puede ser usado en forma maliciosa por un atacante para que su víctima crea estar extrayendo un archivo mucho más pequeño de lo que realmente es.
Sistemas vulnerables:
º WinRAR 3.20 y anteriores
º Unrar 2.71 y anteriores
WinRAR depende solo de la información del header y la verificación de redundancia cíclica (CRC, siglas en inglés de Cyclic Redundancy Check), algoritmo que detecta errores de bits causados en la transmisión de datos, para determinar el tamaño y la integridad de los archivos .RAR.
Antes de descomprimir un archivo .RAR, WinRAR reserva un espacio acorde al tamaño del archivo especificado en el cabezal del mismo, para evitar
su fragmentación. Sin embargo, ésta asignación se realiza sin comprobar antes el espacio disponible en el disco duro.
Una vez que se ha asignado el espacio, comienza la extracción, incluso si el tamaño del disco duro es menor que el tamaño de los archivos a extraer. Aún cuando WinRAR detecte alguna corrupción en los datos del cabezal, igual realiza el proceso de extracción, asumiendo que el tamaño real está correcto.
Cuando comienza la extracción, si no encuentra ningún dato válido en el archivo, y en base a la información del cabezal, intenta extraer la cantidad de bytes indicada y simplemente llena ese valioso espacio del disco duro con ceros.
Existe una prueba de concepto, que se trata de un archivo .RAR de solo 100 bytes, pero cuyo cabezal ha sido modificado para hacer creer que contiene un archivo de 1 gigabyte, modificando incluso un CRC válido en el caso de WinRAR.
En Unrar 2.71 (Unix), un procedimiento similar no puede engañar el procedimiento de chequeo de CRC y el programa indica un error (CRC failed). Sin embargo, esto lo hace después de extraer el archivo (1 Gb en la prueba), aunque después lo borra. El peligro existe en el hecho de que no se examina el espacio disponible en el disco duro antes, lo que puede llevar a un ataque de denegación de servicio (DoS).
No hay respuesta oficial de WinRAR sobre esto.
El exploit y otros datos, fueron publicados en Internet el 14/9/03.
Enlaces:
WinRAR
http://www.rarsoft.com/
(*) Este artículo, original de Enciclopedia Virus http://www.enciclopediavirus.com, es publicado en VSAntivirus.com con la respectiva autorización. Los derechos de republicación para su uso en otro medio, deberán solicitarse en
http://www.enciclopediavirus.com/contacto/index.php
Artículo original:
http://www.enciclopediavirus.com/noticias/verNoticia.php?id=284
(c) Video Soft - http://www.videosoft.net.uy
(c) VSAntivirus - http://www.vsantivirus.com
|
|
|