Cisco представи голяма нова версия на безплатния антивирусен пакет ClamAV 1.0.0. Новият клон се отличава с прехода към традиционното номериране на версиите „Major.Minor.Patch“ (вместо 0.Version.Patch). Значителната промяна на версията се дължи и на промени в библиотеката libclamav, които нарушават ABI съвместимостта чрез премахване на пространството от имена CLAMAV_PUBLIC, промяна на типа на аргументите във функцията cl_strerror и включване на символи за езика Rust в пространството от имена. Проектът премина в ръцете на Cisco през 2013 г. след закупуването на Sourcefire, която разработва ClamAV и Snort. Кодът на проекта се разпространява под лиценз GPLv2.
Клонът 1.0.0 е категоризиран като дългосрочна поддръжка (LTS) и се поддържа три години. Изданието на ClamAV 1.0.0 ще замени предишния LTS клон на ClamAV 0.103, за който актуализации с корекции за уязвимости и критични проблеми ще бъдат пуснати до септември 2023 г. Актуализациите за обикновени клонове, които не са LTS, се публикуват най-малко 4 месеца след първото издание на следващия клон. Възможността за изтегляне на базата данни със сигнатури за клонове, които не са LTS, също се предоставя за поне още 4 месеца след пускането на следващия клон.
Ключови подобрения в ClamAV 1.0:
- Добавена е поддръжка за декриптиране на OLE2-базирани XLS файлове само за четене, криптирани с парола по подразбиране.
- Кодът беше пренаписан с внедряването на режима за всички съвпадения, при който се определят всички съвпадения във файла, т.е. сканирането продължава след първия мач. Новият код е маркиран като по-надежден и по-лесен за поддръжка. Новата реализация също елиминира поредица от концептуални недостатъци, които се появяват при проверка срещу подписи в режим на пълно съвпадение. Добавени тестове за проверка на коректността на поведението при всички мачове.
- Извикването за обратно извикване clcb_file_inspection() е добавено към API за свързване на манипулатори, които проверяват съдържанието на файлове, включително тези, извлечени от архиви.
- Функцията cl_cvdunpack() е добавена към API за разопаковане на архиви на подписи във формат CVD.
- Скриптовете за изграждане на докер изображения с ClamAV са преместени в отделно хранилище на clamav-docker. Докер изображението включва заглавни файлове за C библиотеката.
- Добавени са проверки за ограничаване на нивото на рекурсия при извличане на обекти от PDF документи.
- Ограничението за количеството памет, разпределено при обработка на ненадеждни входни данни, е увеличено и се извежда предупреждение, когато това ограничение бъде превишено.
- Значително ускори сглобяването на модулни тестове за библиотеката libclamav-Rust. Модулите ClamAV, написани на Rust, вече са изградени в директория, споделена с ClamAV.
- Ограниченията бяха смекчени при проверка за припокриващи се записи в ZIP файлове, което направи възможно премахването на фалшиви предупреждения при обработка на леко модифицирани, но не злонамерени JAR архиви.
- Изграждането дефинира минималната и максималната поддържана версия на LLVM. Опитът за изграждане с твърде стара или твърде нова версия вече ще доведе до предупреждение за грешка относно проблеми със съвместимостта.
- Разрешено е изграждане със собствен RPATH списък (списък с директории, от които се зареждат споделени библиотеки), което позволява преместване на изпълними файлове на друго място след изграждане в средата за разработка.
Източник: opennet.ru
