Cisco wprowadziło nową, ważną wersję swojego bezpłatnego pakietu antywirusowego ClamAV 0.105.0, a także opublikowało wersje korygujące ClamAV 0.104.3 i 0.103.6, które naprawiają luki i błędy. Przypomnijmy, że projekt przeszedł w ręce Cisco w 2013 roku po zakupie Sourcefire, firmy rozwijającej ClamAV i Snort. Kod projektu jest rozpowszechniany na licencji GPLv2.
Kluczowe ulepszenia w ClamAV 0.105:
- Kompilator dla języka Rust jest zawarty w wymaganych zależnościach kompilacji. Kompilacja wymaga co najmniej wersji Rust 1.56. Niezbędne biblioteki zależności w Rust są zawarte w głównym pakiecie ClamAV.
- Kod do przyrostowej aktualizacji archiwum bazy danych (CDIFF) został przepisany w Rust. Nowa implementacja umożliwiła znaczne przyspieszenie stosowania aktualizacji usuwających dużą liczbę sygnatur z bazy danych. Jest to pierwszy moduł przepisany w Rust.
- Domyślne wartości graniczne zostały zwiększone:
- MaxScanSize: 100M > 400M
- Maksymalny rozmiar pliku: 25M > 100M
- Maksymalna długość strumienia: 25M > 100M
- PCREMaxFileSize: 25M > 100M
- MaxEmbeddedPE: 10M > 40M
- MaxHTMLNormalizuj: 10M > 40M
- MaxScriptNormalize: 5M > 20M
- MaxHTMLNoTags: 2M > 8M
- Zwiększono maksymalny rozmiar linii w plikach konfiguracyjnych Freshclam.conf i Clamd.conf z 512 do 1024 znaków (przy określaniu tokenów dostępu parametr DatabaseMirror może przekroczyć 512 bajtów).
- W celu identyfikacji obrazów wykorzystywanych do phishingu lub dystrybucji złośliwego oprogramowania zaimplementowano obsługę nowego typu podpisów logicznych wykorzystujących metodę rozmytego mieszania, która pozwala na identyfikację podobnych obiektów z pewnym prawdopodobieństwem. Aby wygenerować rozmyty skrót dla obrazu, możesz użyć polecenia „sigtool —fuzzy-img”.
- ClamScan i ClamDScan mają wbudowane możliwości skanowania pamięci procesów. Ta funkcja została przeniesiona z pakietu ClamWin i jest specyficzna dla platformy Windows. Dodano opcje „--memory”, „--kill” i „--unload” do programów ClamScan i ClamDScan na platformie Windows.
- Zaktualizowano komponenty wykonawcze do wykonywania kodu bajtowego w oparciu o LLVM. Aby zwiększyć wydajność skanowania w porównaniu z domyślnym interpreterem kodu bajtowego, zaproponowano tryb kompilacji JIT. Zaprzestano obsługi starszych wersji LLVM; w pracy można teraz używać wersji LLVM od 8 do 12.
- Do Clamd dodano ustawienie GenerateMetadataJson, które jest odpowiednikiem opcji „--gen-json” w clamscan i powoduje zapisywanie metadanych o postępie skanowania do pliku metadata.json w formacie JSON.
- Możliwe jest budowanie przy użyciu zewnętrznej biblioteki TomsFastMath (libtfm), włączonej za pomocą opcji „-D ENABLE_EXTERNAL_TOMSFASTMATH=ON”, „-D TomsFastMath_INCLUDE_DIR= " i "-D TomsFastMath_LIBRARY= " Dołączona kopia biblioteki TomsFastMath została zaktualizowana do wersji 0.13.1.
- Narzędzie Freshclam poprawiło zachowanie podczas obsługi limitu czasu odbierania, który teraz kończy jedynie zamrożone pobieranie i nie przerywa aktywnego, powolnego pobierania danych przesyłanych przez słabe kanały komunikacji.
- Dodano obsługę budowania ClamdTop przy użyciu biblioteki ncursesw, jeśli brakuje ncurses.
- Naprawiono luki:
- CVE-2022-20803 to podwójnie wolny plik w parserze plików OLE2.
- CVE-2022-20770 Nieskończona pętla w parserze plików CHM.
- CVE-2022-20796 — Awaria spowodowana wyłuskaniem wskaźnika NULL w kodzie sprawdzania pamięci podręcznej.
- CVE-2022-20771 – Nieskończona pętla w parserze plików TIFF.
- CVE-2022-20785 — Wyciek pamięci w parserze HTML i normalizatorze JavaScript.
- CVE-2022-20792 – Przepełnienie bufora w module ładowania bazy danych sygnatur.
Źródło: opennet.ru