Ejecución de código arbitrario en ClamAV 0.90

Según comentan en SANS, los del laboratorio de iDefense han descubierto una vulnerabilidad que puede desembocar en la ejecución de código arbitrario.

ClamAV es, probablemente, el antivirus basado en código libre más popular que hay (tampoco es que haya muchos) y es una excelente herramienta para el filtrado ágil del correo electrónico en el perímetro de redes domésticas y organizaciones. ClamAV casa perfectamente con otras soluciones pesadas perimetrales y de escritorio, que pueden refinar la captura del malware que ClamAV, que carece de heurísticas y una orientación plena al malware de factoría, puede dejar escapar. Es muy normal filtrar el correo con ClamAV, que anulará las muestras de malware más conocidas, y posteriormente, someter, bien en los terminales o bien en servidores intermedios, a un escaneo más potente a los adjuntos de los correos, con la idea de proporcionar mensajes de correo limpios al usuario.

Según se informa, el escaneo de un fichero Microsoft CAB (Microsoft Cabinet) especialmente conformado para el ataque podría conducir a la ejecución arbitraria de código, como consecuencia de un desbordamiento de búfer provocado por un error de diseño en la función cab_unstore() de la librería libclamav. Esta ejecución se haría con un nivel de privilegios equivalente al del usuario que esté ejecutando el proceso vulnerable. En caso de que la explotación fracase, se puede producir el colapso del servicio, denegando los servicios del servidor afectado.

Una solución para salir del paso es desprender a antivirus de ficheros CAB, ya que a fin de cuentas es una extensión problemática con los proxies y filtrados perimetrales, ya que son ficheros empleados para la distribución de software, y que son directamente atrapados por los filtros más usuales como medida de prevención elemental.

Lo recomendable, no obstante, es actualizar a la versión 0.90.2, que no es susceptible de explotación. No demoréis el cambio de versión :)

Saludos,