{"id":"SUSE-SU-2020:3790-1","summary":"Security update for clamav","details":"This update for clamav fixes the following issues:\n\nclamav was updated to the new major release 0.103.0. (jsc#ECO-3010,bsc#1118459)\n\nNote that libclamav was changed incompatible, if you have a 3rd party\napplication that uses libclamav, it needs to be rebuilt.\n\nUpdate to 0.103.0\n\n* clamd can now reload the signature database without blocking\n  scanning. This multi-threaded database reload improvement was made\n  possible thanks to a community effort.\n\n  - Non-blocking database reloads are now the default behavior. Some\n    systems that are more constrained on RAM may need to disable\n    non-blocking reloads as it will temporarily consume two times as\n     much memory. We added a new clamd config option\n    ConcurrentDatabaseReload, which may be set to no.\n\n  * Fix clamav-milter.service (requires clamd.service to run)\n\nUpdate to 0.102.4\n\n  * CVE-2020-3350: Fix a vulnerability wherein a malicious user could\n    replace a scan target's directory with a symlink to another path\n    to trick clamscan, clamdscan, or clamonacc into removing or moving\n    a different file (eg. a critical system file). The issue would\n    affect users that use the --move or --remove options for clamscan,\n    clamdscan, and clamonacc.\n  * CVE-2020-3327: Fix a vulnerability in the ARJ archive parsing\n    module in ClamAV 0.102.3 that could cause a Denial-of-Service\n    (DoS) condition. Improper bounds checking results in an\n    out-of-bounds read which could cause a crash. The previous fix for\n    this CVE in 0.102.3 was incomplete. This fix correctly resolves\n    the issue.\n  * CVE-2020-3481: Fix a vulnerability in the EGG archive module in\n    ClamAV 0.102.0 - 0.102.3 could cause a Denial-of-Service (DoS)\n    condition. Improper error handling may result in a crash due to a\n    NULL pointer dereference. This vulnerability is mitigated for\n    those using the official ClamAV signature databases because the\n    file type signatures in daily.cvd will not enable the EGG archive\n    parser in versions affected by the vulnerability.\n\nUpdate to 0.102.3\n\n  * CVE-2020-3327: Fix a vulnerability in the ARJ archive parsing\n    module in ClamAV 0.102.2 that could cause a Denial-of-Service (DoS)\n    condition. Improper bounds checking of an unsigned variable results\n    in an out-of-bounds read which causes a crash.\n  * CVE-2020-3341: Fix a vulnerability in the PDF parsing module in\n    ClamAV 0.101 - 0.102.2 that could cause a Denial-of-Service (DoS)\n    condition. Improper size checking of a buffer used to initialize AES\n    decryption routines results in an out-of-bounds read which may cause\n    a crash.\n  * Fix 'Attempt to allocate 0 bytes' error when parsing some PDF\n    documents.\n  * Fix a couple of minor memory leaks.\n  * Updated libclamunrar to UnRAR 5.9.2.\n\nUpdate to 0.102.2:\n\n  * CVE-2020-3123: A denial-of-service (DoS) condition may occur when\n    using the optional credit card data-loss-prevention (DLP) feature.\n    Improper bounds checking of an unsigned variable resulted in an\n    out-of-bounds read, which causes a crash.\n  * Significantly improved the scan speed of PDF files on Windows.\n  * Re-applied a fix to alleviate file access issues when scanning RAR\n    files in downstream projects that use libclamav where the scanning\n    engine is operating in a low-privilege process. This bug was originally\n    fixed in 0.101.2 and the fix was mistakenly omitted from 0.102.0.\n  * Fixed an issue where freshclam failed to update if the database version\n    downloaded is one version older than advertised. This situation may\n    occur after a new database version is published. The issue affected\n    users downloading the whole CVD database file.\n  * Changed the default freshclam ReceiveTimeout setting to 0 (infinite).\n    The ReceiveTimeout had caused needless database update failures for\n    users with slower internet connections.\n  * Correctly display the number of kilobytes (KiB) in progress bar and\n    reduced the size of the progress bar to accommodate 80-character width\n    terminals.\n  * Fixed an issue where running freshclam manually causes a daemonized\n    freshclam process to fail when it updates because the manual instance\n    deletes the temporary download directory. The freshclam temporary files\n    will now download to a unique directory created at the time of an update\n    instead of using a hardcoded directory created/destroyed at the program\n    start/exit.\n  * Fix for freshclam's OnOutdatedExecute config option.\n  * Fixes a memory leak in the error condition handling for the email\n    parser.\n  * Improved bound checking and error handling in ARJ archive parser.\n  * Improved error handling in PDF parser.\n  * Fix for memory leak in byte-compare signature handler.\n\n- The freshclam.service should not be started before the network is\n  online (it checks for updates immediately upon service start)\n\nUpdate to 0.102.1:\n\n  * CVE-2019-15961, bsc#1157763: A Denial-of-Service (DoS)\n    vulnerability may occur when scanning a specially crafted email\n    file as a result of excessively long scan times. The issue is\n    resolved by implementing several maximums in parsing MIME\n    messages and by optimizing use of memory allocation.\n  * Build system fixes to build clamav-milter, to correctly link\n    with libxml2 when detected, and to correctly detect fanotify\n    for on-access scanning feature support.\n  * Signature load time is significantly reduced by changing to a\n    more efficient algorithm for loading signature patterns and\n    allocating the AC trie. Patch courtesy of Alberto Wu.\n  * Introduced a new configure option to statically link libjson-c\n    with libclamav. Static linking with libjson is highly\n    recommended to prevent crashes in applications that use\n    libclamav alongside another JSON parsing library.\n  * Null-dereference fix in email parser when using the\n    --gen-json metadata option.\n  * Fixes for Authenticode parsing and certificate signature\n    (.crb database) bugs.\n\nUpdate to 0.102.0:\n\n  * The On-Access Scanning feature has been migrated out of clamd\n    and into a brand new utility named clamonacc. This utility is\n    similar to clamdscan and clamav-milter in that it acts as a\n    client to clamd. This separation from clamd means that clamd no\n    longer needs to run with root privileges while scanning potentially\n    malicious files. Instead, clamd may drop privileges to run under an\n    account that does not have super-user. In addition to improving the\n    security posture of running clamd with On-Access enabled, this\n    update fixed a few outstanding defects:\n    - On-Access scanning for created and moved files (Extra-Scanning)\n      is fixed.\n    - VirusEvent for On-Access scans is fixed.\n    - With clamonacc, it is now possible to copy, move, or remove a\n      file if the scan triggered an alert, just like with clamdscan.\n  * The freshclam database update utility has undergone a significant\n    update. This includes:\n    - Added support for HTTPS.\n    - Support for database mirrors hosted on ports other than 80.\n    - Removal of the mirror management feature (mirrors.dat).\n    - An all new libfreshclam library API.\n- created new subpackage libfreshclam2\n\nUpdate to 0.101.4:\n\n  * CVE-2019-12900: An out of bounds write in the NSIS bzip2\n    (bsc#1149458)\n  * CVE-2019-12625: Introduce a configurable time limit to mitigate\n    zip bomb vulnerability completely. Default is 2 minutes,\n    configurable useing the clamscan --max-scantime and for clamd\n    using the MaxScanTime config option (bsc#1144504)\n\nUpdate to version 0.101.3:\n\n  * bsc#1144504: ZIP bomb causes extreme CPU spikes\n\nUpdate to version 0.101.2 (bsc#1130721)\n\n  * CVE-2019-1787:\n    An out-of-bounds heap read condition may occur when scanning PDF\n    documents. The defect is a failure to correctly keep track of the number\n    of bytes remaining in a buffer when indexing file data.\n  * CVE-2019-1789:\n    An out-of-bounds heap read condition may occur when scanning PE files\n    (i.e. Windows EXE and DLL files) that have been packed using Aspack as a\n    result of inadequate bound-checking.\n  * CVE-2019-1788:\n    An out-of-bounds heap write condition may occur when scanning OLE2 files\n    such as Microsoft Office 97-2003 documents. The invalid write happens when\n    an invalid pointer is mistakenly used to initialize a 32bit integer to\n    zero. This is likely to crash the application.\n  * CVE-2019-1786:\n    An out-of-bounds heap read condition may occur when scanning malformed\n    PDF documents as a result of improper bounds-checking.\n  * CVE-2019-1785:\n    A path-traversal write condition may occur as a result of improper\n    input validation when scanning RAR archives.\n  * CVE-2019-1798:\n    A use-after-free condition may occur as a result of improper error\n    handling when scanning nested RAR archives.\n","modified":"2026-02-04T04:00:40.474608Z","published":"2020-12-14T14:01:32Z","related":["CVE-2019-12625","CVE-2019-12900","CVE-2019-15961","CVE-2019-1785","CVE-2019-1786","CVE-2019-1787","CVE-2019-1788","CVE-2019-1789","CVE-2019-1798","CVE-2020-3123","CVE-2020-3327","CVE-2020-3341","CVE-2020-3350","CVE-2020-3481"],"upstream":["CVE-2019-12625","CVE-2019-12900","CVE-2019-15961","CVE-2019-1785","CVE-2019-1786","CVE-2019-1787","CVE-2019-1788","CVE-2019-1789","CVE-2019-1798","CVE-2020-3123","CVE-2020-3327","CVE-2020-3341","CVE-2020-3350","CVE-2020-3481"],"references":[{"type":"ADVISORY","url":"https://www.suse.com/support/update/announcement/2020/suse-su-20203790-1/"},{"type":"REPORT","url":"https://bugzilla.suse.com/1104457"},{"type":"REPORT","url":"https://bugzilla.suse.com/1118459"},{"type":"REPORT","url":"https://bugzilla.suse.com/1130721"},{"type":"REPORT","url":"https://bugzilla.suse.com/1144504"},{"type":"REPORT","url":"https://bugzilla.suse.com/1149458"},{"type":"REPORT","url":"https://bugzilla.suse.com/1157763"},{"type":"WEB","url":"https://www.suse.com/security/cve/CVE-2019-12625"},{"type":"WEB","url":"https://www.suse.com/security/cve/CVE-2019-12900"},{"type":"WEB","url":"https://www.suse.com/security/cve/CVE-2019-15961"},{"type":"WEB","url":"https://www.suse.com/security/cve/CVE-2019-1785"},{"type":"WEB","url":"https://www.suse.com/security/cve/CVE-2019-1786"},{"type":"WEB","url":"https://www.suse.com/security/cve/CVE-2019-1787"},{"type":"WEB","url":"https://www.suse.com/security/cve/CVE-2019-1788"},{"type":"WEB","url":"https://www.suse.com/security/cve/CVE-2019-1789"},{"type":"WEB","url":"https://www.suse.com/security/cve/CVE-2019-1798"},{"type":"WEB","url":"https://www.suse.com/security/cve/CVE-2020-3123"},{"type":"WEB","url":"https://www.suse.com/security/cve/CVE-2020-3327"},{"type":"WEB","url":"https://www.suse.com/security/cve/CVE-2020-3341"},{"type":"WEB","url":"https://www.suse.com/security/cve/CVE-2020-3350"},{"type":"WEB","url":"https://www.suse.com/security/cve/CVE-2020-3481"}],"affected":[{"package":{"name":"clamav","ecosystem":"SUSE:Linux Enterprise Module for Basesystem 15 SP1","purl":"pkg:rpm/suse/clamav&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP1"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.103.0-3.23.1"}]}],"ecosystem_specific":{"binaries":[{"clamav":"0.103.0-3.23.1","clamav-devel":"0.103.0-3.23.1","libclamav9":"0.103.0-3.23.1","libfreshclam2":"0.103.0-3.23.1"}]},"database_specific":{"source":"https://ftp.suse.com/pub/projects/security/osv/SUSE-SU-2020:3790-1.json"}},{"package":{"name":"clamav","ecosystem":"SUSE:Linux Enterprise Module for Basesystem 15 SP2","purl":"pkg:rpm/suse/clamav&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP2"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.103.0-3.23.1"}]}],"ecosystem_specific":{"binaries":[{"clamav":"0.103.0-3.23.1","clamav-devel":"0.103.0-3.23.1","libclamav9":"0.103.0-3.23.1","libfreshclam2":"0.103.0-3.23.1"}]},"database_specific":{"source":"https://ftp.suse.com/pub/projects/security/osv/SUSE-SU-2020:3790-1.json"}}],"schema_version":"1.7.3"}