Po sześciu miesiącach prac rozwojowych firma Cisco opublikowała wydanie wolnego pakietu antywirusowego ClamAV 1.3.0. Projekt przeszedł w ręce Cisco w 2013 roku po zakupie firmy Sourcefire, która rozwijała ClamAV i Snort. Kod projektu jest rozpowszechniany na licencji GPLv2. Wersja 1.3.0 należy do kategorii zwykłych (nie LTS), a aktualizacje są publikowane przez co najmniej 4 miesiące po wydaniu pierwszej wersji następnej gałęzi. Możliwość pobierania bazy sygnatur dla gałęzi nie-LTS jest również zapewniana przez co najmniej jeszcze 4 miesiące po wydaniu następnej gałęzi.
Kluczowe ulepszenia w ClamAV 1.3:
- Dodano wsparcie dla ekstrakcji i weryfikacji załączników używanych w plikach Microsoft OneNote. Analiza formatu OneNote jest domyślnie włączona, ale można ją wyłączyć za pomocą ustawienia „ScanOneNote no” w clamd.conf, podania opcji w wierszu poleceń „—scan-onenote=no” przy uruchamianiu narzędzia clamscan lub dodania flagi CL_SCAN_PARSE_ONENOTE do parametru options.parse przy użyciu libclamav.
- Udoskonalono kompilację ClamAV w systemie operacyjnym podobnym do BeOS, Haiku.
- W clamd dodano sprawdzanie istnienia katalogu dla plików tymczasowych, określonego w pliku clamd.conf przez dyrektywę TemporaryDirectory. W przypadku braku tego katalogu proces teraz kończy się z wyświetleniem błędu.
- Podczas konfigurowania kompilacji statycznych bibliotek w CMake zapewniono instalację statycznych bibliotek libclamav_rust, libclammspack, libclamunrar_iface i libclamunrar, które są używane w libclamav.
- Zrealizowano identyfikację typu pliku dla skompilowanych skryptów Pythona (.pyc). Typ pliku jest przekazywany w formie parametru tekstowego CL_TYPE_PYTHON_COMPILED, obsługiwanego w funkcjach clcb_pre_cache, clcb_pre_scan i clcb_file_inspection.
- Udoskonalono wsparcie dla deszyfrowania dokumentów PDF z pustym hasłem.
Jednocześnie opracowano aktualizacje ClamAV 1.2.2 i 1.0.5, w których usunięto dwie luki bezpieczeństwa dotyczące gałęzi 0.104, 0.105, 1.0, 1.1 i 1.2:
- CVE-2024-20328 — możliwość wstrzykiwania poleceń podczas sprawdzania plików w clamd z powodu błędu w implementacji dyrektywy „VirusEvent”, stosowanej do uruchamiania dowolnego polecenia w przypadku wykrycia wirusa. Szczegóły dotyczące wykorzystania tej podatności nie zostały jak na razie ujawnione, wiadomo tylko, że problem został rozwiązany poprzez wyłączenie wsparcia w VirusEvent dla parametru formatującego łańcuch „%f”, który był zamieniany na nazwę zainfekowanego pliku.
Wydaje się, że atak polega na przesyłaniu specjalnie sformatowanej nazwy zainfekowanego pliku, zawierającej znaki specjalne, które nie są eskapowane podczas uruchamiania polecenia określonego w VirusEvent. Zauważalne jest, że podobną podatność naprawiano już w 2004 roku, również usuwając wsparcie dla podstawienia „%f”, które następnie zostało przywrócone w wersji ClamAV 0.104, prowadząc do reaktywacji starej podatności. W starej podatności do wykonania własnego polecenia podczas sprawdzania na wirusy wystarczyło stworzyć plik o nazwie „; mkdir owned” i zapisać w nim testową sygnaturę wirusa.
- CVE-2024-20290 — przepełnienie bufora w kodzie analizy plików w formacie OLE2, które zdalny, nieautoryzowany atakujący może wykorzystać do odmowy usługi (awaryjne zakończenie procesu skanowania). Problem wynika z niewłaściwej weryfikacji końca linii podczas skanowania zawartości, co prowadzi do odczytu z obszaru poza granicami bufora.
Źródło: opennet.ru
