Después de seis meses de desarrollo, Cisco publicó la versión 1.3.0 del paquete antivirus gratuito ClamAV. El proyecto pasó a manos de Cisco en 2013 tras la compra de la empresa Sourcefire, que desarrolla ClamAV y Snort. El código del proyecto se distribuye bajo la licencia GPLv2. La rama 1.3.0 se considera una versión regular (no LTS), cuyas actualizaciones se publican durante al menos 4 meses después del lanzamiento de la primera versión de la siguiente rama. La capacidad de descargar la base de firmas para las ramas no LTS también se proporciona durante al menos otros 4 meses después del lanzamiento de la siguiente rama.
Mejoras clave en ClamAV 1.3:
- Se ha añadido soporte para la extracción y verificación de archivos adjuntos utilizados en documentos de Microsoft OneNote. El análisis del formato OneNote está habilitado por defecto, pero se puede desactivar mediante la configuración 'ScanOneNote no' en clamd.conf, especificando la opción de línea de comandos '—scan-onenote=no' al ejecutar la herramienta clamscan, o añadiendo la bandera CL_SCAN_PARSE_ONENOTE al parámetro options.parse al usar libclamav.
- Se ha establecido la compilación de ClamAV en el sistema operativo similar a BeOS, Haiku.
- En clamd se ha añadido una verificación de la existencia del directorio para archivos temporales, como se indica en el archivo clamd.conf a través de la directiva TemporaryDirectory. Si este directorio no existe, el proceso ahora se termina con un mensaje de error.
- Al configurar la compilación de bibliotecas estáticas en CMake, se ha garantizado la instalación de las bibliotecas estáticas libclamav_rust, libclammspack, libclamunrar_iface y libclamunrar, que se utilizan en libclamav.
- Se ha implementado la determinación del tipo de archivo para scripts de Python compilados (.pyc). El tipo de archivo se pasa como un parámetro de cadena CL_TYPE_PYTHON_COMPILED, que es compatible con las funciones clcb_pre_cache, clcb_pre_scan y clcb_file_inspection.
- Se ha mejorado el soporte para la descifrado de documentos PDF con contraseña vacía.
Simultáneamente se han emitido las actualizaciones ClamAV 1.2.2 y 1.0.5, que abordan dos vulnerabilidades que afectan a las ramas 0.104, 0.105, 1.0, 1.1 y 1.2:
- CVE-2024-20328 — posibilidad de inyección de comandos durante la verificación de archivos en clamd debido a un error en la implementación de la directiva 'VirusEvent', que se utiliza para ejecutar un comando arbitrario en caso de detección de un virus. Los detalles de la explotación de la vulnerabilidad no se han revelado, solo se sabe que el problema se ha solucionado deshabilitando el soporte en el parámetro de formateo de cadena ' %f' en VirusEvent, que se reemplazaba por el nombre del archivo infectado.
Al parecer, el ataque se centra en la transmisión de un nombre de archivo comprometido, que contiene caracteres especiales que no se escapan al ejecutar el comando indicado en VirusEvent. Es notable que una vulnerabilidad similar ya fue solucionada en 2004, también eliminando el soporte para la sustitución '%f', que luego fue reincorporado en la versión ClamAV 0.104, lo que llevó al resurgimiento de la antigua vulnerabilidad. En la vulnerabilidad anterior, para ejecutar su comando durante el escaneo de virus, solo era necesario crear un archivo llamado "; mkdir owned" y escribir en él una firma de virus de prueba.
- CVE-2024-20290 — desbordamiento de búfer en el código de análisis de archivos con contenido en formato OLE2, que un atacante remoto no autenticado puede utilizar para causar una denegación de servicio (interrupción del proceso de escaneo). El problema es causado por una verificación incorrecta del final de la línea durante el escaneo del contenido, lo cual provoca la lectura fuera de los límites del búfer.
Fuente: opennet.ru
