Compania Cisco a lansat o nouă versiune importantă a pachetului antivirus liber ClamAV 0.105.0 și a publicat versiunile corective ClamAV 0.104.3 și 0.103.6, care rezolvă vulnerabilități și erori. Amintim că proiectul a trecut în proprietatea Cisco în 2013, după achiziționarea companiei Sourcefire, care dezvolta ClamAV și Snort. Codul proiectului este distribuit sub licența GPLv2.
Îmbunătățiri cheie în ClamAV 0.105:
- Un compilator pentru limbajul Rust a fost inclus printre dependențele obligatorii pentru compilare. Este necesară cel puțin versiunea Rust 1.56. Bibliotecile dependență necesare în limbajul Rust sunt incluse în pachetul principal ClamAV.
- Codul pentru actualizarea incrementală a arhivei DB (CDIFF) a fost rescris în limbajul Rust. Noua implementare a permis accelerarea semnificativă a aplicării actualizărilor care elimină un număr mare de semnături din bază. Acesta este primul modul rescris în Rust.
- Valorile limitelor implicite au fost crescute:
- MaxScanSize: 100M > 400M
- MaxFileSize: 25M > 100M
- StreamMaxLength: 25M > 100M
- PCREMaxFileSize: 25M > 100M
- MaxEmbeddedPE: 10M > 40M
- MaxHTMLNormalize: 10M > 40M
- MaxScriptNormalize: 5M > 20M
- MaxHTMLNoTags: 2M > 8M
- Dimensiunea maximă a liniilor în fișierele de configurare freshclam.conf și clamd.conf a fost crescută de la 512 la 1024 de caractere (când se specifică token-uri de acces, parametrul DatabaseMirror putea depăși 512 bytes).
- Pentru a identifica imagini folosite pentru phishing sau în distribuirea de malware, s-a implementat suportul pentru un nou tip de semnături logice, în care se utilizează metoda de hashing fuzzy, permițând detectarea obiectelor similare cu un anumit grad de certitudine. Pentru a genera un hash fuzzy pentru o imagine, se poate folosi comanda „sigtool —fuzzy-img”.
- În ClamScan și ClamDScan a fost inclusă posibilitatea de a scana memoria proceselor. Această funcționalitate a fost transferată din pachetul ClamWin și este specifică platformei Windows. În ClamScan și ClamDScan pe platforma Windows au fost adăugate opțiunile „—memory”, „—kill” și „—unload”.
- Componentele runtime pentru executarea bytecode-ului, bazate pe LLVM, au fost actualizate. Pentru a crește performanța scanării în comparație cu interpretatorul de bytecode implicit, a fost propus un mod de compilare JIT. Suportul pentru versiunile vechi ale LLVM a fost sistat, acum se pot utiliza versiunile LLVM de la 8 la 12.
- În Clamd a fost adăugată setarea GenerateMetadataJson, echivalentă opțiunii „—gen-json” din clamscan, care scrie în fișierul metadata.json metadatele despre desfășurarea scanării în format JSON.
- A fost oferită posibilitatea de a construi utilizând biblioteca externă TomsFastMath (libtfm), inclusă prin opțiunile „-D ENABLE_EXTERNAL_TOMSFASTMATH=ON”, „-D TomsFastMath_INCLUDE_DIR=” și „-D TomsFastMath_LIBRARY=”. Copia livrată a bibliotecii TomsFastMath a fost actualizată la versiunea 0.13.1.
- În utilitarul Freshclam a fost îmbunătățit comportamentul în gestionarea timeout-ului ReceiveTimeout, care acum întrerupe doar descărcările blocate și nu oprește descărcările active lente cu transfer de date prin canale de comunicare slabe.
- A fost adăugată suportul pentru construirea ClamdTop utilizând biblioteca ncursesw în absența ncurses.
- S-au remediat vulnerabilitățile:
- CVE-2022-20803 — eliberare dublă a memoriei în parserul de fișiere OLE2.
- CVE-2022-20770 — buclă infinită în parserul de fișiere CHM.
- CVE-2022-20796 — închidere neașteptată din cauza dereferirii unui pointer nul în codul de verificare a caches.
- CVE-2022-20771 — buclă infinită în parserul de fișiere TIFF.
- CVE-2022-20785 — scurgere de memorie în parserul HTML și normalizatorul Javascript.
- CVE-2022-20792 — depășirea buffer-ului în modulul de încărcare a bazei de semnături.
Sursa: opennet.ro
