В ClamAV устранены уязвимости, ведущие к выполнению кода при сканировании архивов

clamav

Антивирусный пакет ClamAV получил два корректирующих релиза - 1.4.6 и 1.5.4. В них исправлено восемь уязвимостей, часть из которых при эксплуатации позволяет удалённо выполнить код или привести к отказу в обслуживании. Проблемы затрагивают обработку архивов и нескольких популярных форматов файлов.

Детали уязвимостей

Наиболее серьёзные ошибки обнаружены в компонентах, отвечающих за разбор ZIP-архивов. Одна из них вызвана некорректным отслеживанием размера каталога при индексации локальных заголовков и приводит к записи за пределы выделенной области динамической памяти. Атакующий может отправить в антивирус специально созданный ZIP-файл, чтобы остановить процесс сканирования или получить возможность выполнить произвольный код. Другая уязвимость в том же компоненте связана с ошибочным управлением владельцами записей при объединении каталогов и может вызвать повторное освобождение памяти. Обе проблемы присутствуют только в версиях 1.5.0-1.5.3, исправление включено в 1.5.4.

Также объединены в одну группу ошибки в парсерах форматов GPT, PDF, Mach-O и XAR. Уязвимость в обработке GPT-разделов возникает из-за неправильной конвертации порядка байтов при преобразовании имён разделов. Это позволяет читать или писать за границами выделенного буфера. В парсере PDF выявлено целочисленное переполнение при чтении некорректной шестнадцатеричной строки, что приводит к аварийному завершению процесса. Аналогичная проблема целочисленного переполнения обнаружена в анализаторе исполняемых файлов Mach-O, где она также вызывает неопределённое поведение. В парсере XAR неправильная обработка размера таблицы содержимого может спровоцировать чрезмерное выделение памяти и исчерпание ресурсов.

Особого внимания заслуживает уязвимость в распаковщике PESpin. Из-за целочисленного переполнения при восстановлении PE-файла антивирус может выделить недостаточно памяти, а затем записать данные за её пределы. Это потенциально открывает путь к выполнению произвольного кода с правами процесса ClamAV. Ошибка затрагивает версии, начиная с 0.90, поэтому круг потенциально уязвимых систем очень широк.

Отдельно исправлена проблема в библиотеке UnRAR, используемой ClamAV для обработки RAR-архивов на платформе Windows. Уязвимость позволяет обойти ограничения временной директории и извлечь файлы в произвольное место. Причина - недостаточная проверка разделителей путей в именах альтернативных потоков данных NTFS. В результате злоумышленник, отправив вредоносный архив, может перезаписать файлы за пределами каталога, отведённого для временного хранения. Это особенно опасно для почтовых шлюзов и других инфраструктурных узлов, где сканирование вложений происходит автоматически.

Все перечисленные уязвимости, за исключением двух проблем в ZIP-парсере, устранены одновременно в версиях 1.4.6 и 1.5.4. Пользователям, использующим ветку 1.5.x, следует обновиться до 1.5.4. Тем, кто остаётся на ветке 1.4.x, рекомендуется перейти на 1.4.6. В организации стоит проверить, какая версия ClamAV задействована в почтовых фильтрах, прокси-серверах и других решениях безопасности, поскольку эксплуатировать уязвимости можно удалённо, без аутентификации.

Продукт позиционируется как свободный антивирус и широко применяется в качестве встроенного сканера в разнообразных системах. Выявленные ошибки сосредоточены именно в механизмах разбора файлов, которые вступают в работу до того, как контент будет признан безопасным. Это делает ClamAV привлекательной целью для атак на цепочку поставок: вредоносный файл, отправленный на проверку, способен сначала нарушить работу самого защитного решения.

Разработчики уже подготовили патчи, среди исследователей, сообщивших о проблемах, - специалисты GitHub Security Lab, Tencent Xuanwu Lab и независимые эксперты. Критических уязвимостей, оставшихся без исправления, в текущем релизе не заявлено. Администраторам рекомендуется обновить антивирус в ближайшее время, не дожидаясь появления эксплойтов в открытом доступе. Для временного снижения риска до установки обновления можно ограничить доступ к ClamAV-сканерам и по возможности не направлять на проверку файлы из непроверенных источников.

Ссылки

Комментарии: 0