28.02.2024

Компания Cisco выпустила антивирусный пакет ClamAV 1.3.0 и устранила опасную уязвимость

После шести месяцев разработки компания Cisco опубликовала выпуск свободного антивирусного пакета ClamAV 1.3.0. Проект перешёл в руки Cisco в 2013 году после покупки компании Sourcefire, развивающей ClamAV и Snort. Код проекта распространяется под лицензией GPLv2. Ветка 1.3.0 отнесена к категории обычных (не LTS), обновления к которым публикуются как минимум в течение 4 месяцев после выхода первого релиза следующей ветки. Возможность загрузки базы сигнатур для не-LTS веток также обеспечивается как минимум ещё 4 месяца после выпуска следующей ветки.

Ключевые улучшения в 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, которое удалённый неаутентифицированный атакующий может использовать для отказа в обслуживании (аварийное завершения процесса сканирования). Проблема вызвана некорректной проверкой конца стройки во время сканирования содержимого, приводящей к чтению из области вне границы буфера.

Источник: https://www.opennet.ru/opennews/art.shtml?num=60569 Источник.