Desbordamiento de búffer en ClamAV
El desbordamiento se produce por error en tratamiento de archivos UPX.
Se ha descubierto una vulnerabilidad en Clam Antivirus que puede ser explotada por atacantes remotos para provocar denegaciones de servicio o incluso el compromiso de sistemas afectados.
La vulnerabilidad, descubierta por el investigador Damian Put, se debe a un problema en el tratamiento de archivos ejecutables PE empaquetados con UPX.
Clam AntiVirus es un motor antivirus gratuito y de código abierto. Mayormente utilizada en entornos UNIX, fue diseñado para su uso integrado con servidores de correo, analizando los mensajes que éstos procesan, incluyendo los adjuntos que éstos puedan llevar consigo.
El formato PE (Portable Executable) es el nativo de las plataformas Windows para ejecutables y DLLs. Básicamente, se trata de una estructura de datos que encapsula la información necesaria para que las distintas versiones de Windows puedan ejecutar el código propiamente dicho.
UPX (Ultimate Packer for eXecutables) es un empaquetador de ejecutables Open Source que soporta una buena cantidad de formatos de archivo. Si bien su funcionalidad es neutra, suele ser bastante frecuente encontrar malware empaquetado con diversas versiones de esta potente herramienta.
La vulnerabilidad en sí se debe a un error en la función ‘pefromupx()’, localizado en el archivo fuente ‘libclamav/upx.c’. Esta función es la encargada de extraer el archivo Win32 PE del original empaquetado con UPX. Un error de comprobación de tamaños de variable utilizadas durante este proceso puede ser explotado – mediante la construcción de un archivo UPX especialmente formado a tal efecto – para provocar un desbordamiento de búffer basado en heap. Este desbordamiento puede llevar a una condición de denegación de servicio (cese de la ejecución del servicio en sí) o incluso a la ejecución de código arbitrario en el sistema afectado.
La vulnerabilidad, que fue detectada en las versiones 0.88.2 y 0.88.3, ha sido solventada en la 0.88.4, disponible para su descarga en esta dirección.