Ключевые улучшения в ClamAV 1.3:
- Добавлена поддержка извлечения и проверки вложений, используемых в файлах Microsoft OneNote. Разбор формата OneNote включён по умолчанию, но при желании может быть отключён при помощи настройки «ScanOneNote no» в clamd.conf, указании опции командной строки «—scan-onenote=no» при запуске утилиты clamscan или добавления флага CL_SCAN_PARSE_ONENOTE в параметр options.parse при использовании libclamav.
- Налажена сборка ClamAV в BeOS-подобной операционной системе Haiku.
- В clamd добавлена проверка существования каталога для временных файлов, указанного в файле clamd.conf через директиву TemporaryDirectory. При отсутствии данного каталога процесс теперь завершается с выводом ошибки.
- При настройке сборки статических библиотек в CMake, обеспечена установка статических библиотек libclamav_rust, libclammspack, libclamunrar_iface и libclamunrar, применяемых в libclamav.
- Реализовано определение типа файла для скомпилированных Python-сценариев (.pyc). Тип файла передаётся в форме строкового параметра CL_TYPE_PYTHON_COMPILED, поддерживаемого в функциях clcb_pre_cache, clcb_pre_scan и clcb_file_inspection.
- Улучшена поддержка расшифровки PDF-документов с пустым паролем.
Одновременно сформированы обновления ClamAV 1.2.2 и 1.0.5, в которых устранены две уязвимости, затрагивающие ветки 0.104, 0.105, 1.0, 1.1 и 1.2:
- CVE-2024-20328 — возможность подстановки команд в процессе проверки файлов в clamd из-за ошибки в реализации директивы «VirusEvent«, применяемой для запуска произвольной команды в случае обнаружения вируса. Детали эксплуатации уязвимости пока не раскрываются, известно только то, что проблема устранена через отключение поддержки в VirusEvent параметра форматирования строки ‘%f’, который заменялся на имя инфицированного файла.
Cудя по всему, атака сводится к передаче специально оформленного имени заражённого файла, содержащего спецсимволы не экранируемые при запуске команды, указанной в VirusEvent. Примечательно, что похожую уязвимость уже устраняли в 2004 году и также удалением поддержки подстановки ‘%f’, которая затем была возвращена в выпуске ClamAV 0.104 и привела к возрождению старой уязвимости. В старой уязвимости для выполнения своей команды во время проверки на вирусы достаточно было создать файл с именем «; mkdir owned» и записать в него тестовую сигнатуру вируса.
- CVE-2024-20290 — переполнение буфера в коде разбора файлов с содержимым в формате OLE2, которое удалённый неаутентифицированный атакующий может использовать для отказа в обслуживании (аварийное завершения процесса сканирования). Проблема вызвана некорректной проверкой конца стройки во время сканирования содержимого, приводящей к чтению из области вне границы буфера.
Источник: http://www.opennet.ru/opennews/art.shtml?num=60569