Wednesday, May 5, 2021

On Tuesday, May 18th the Cisco-Talos "clamav-devel" repository on GitHub will be renamed to "clamav".

This is just an advisory notice. GitHub automatically redirects requests for renamed repositories so that the old URLs remain functional.

However, those who have clones-of or links-to this git repository may wish to update the URLs after the rename is complete. For example:

http://github.com/Cisco-Talos/clamav-devel

  to http://github.com/Cisco-Talos/clamav

http://github.com/Cisco-Talos/clamav-devel.git

  to http://github.com/Cisco-Talos/clamav.git

git@github.com:Cisco-Talos/clamav-devel.git

  to git@github.com:Cisco-Talos/clamav.git

 

Thank you!

Wednesday, April 7, 2021

ClamAV 0.103.2 is out now. Users can head over to clamav.net/downloads to download the release materials.

This is a security patch release with the following fixes:

  • CVE-2021-1386: Fix for UnRAR DLL load privilege escalation. Affects 0.103.1 and prior on Windows only.
  • CVE-2021-1252: Fix for Excel XLM parser infinite loop. Affects 0.103.0 and 0.103.1 only.
  • CVE-2021-1404: Fix for PDF parser buffer over-read; possible crash. Affects 0.103.0 and 0.103.1 only.
  • CVE-2021-1405: Fix for mail parser NULL-dereference crash. Affects 0.103.1 and prior.
  • Fix possible memory leak in PNG parser.
  • Fix ClamOnAcc scan on file-creation race condition so files are scanned after their contents are written.
  • FreshClam: Deprecate the SafeBrowsing config option. The SafeBrowsing option will no longer do anything. For more details, see our blog post from last year about the future of the ClamAV Safe Browsing database
    Tip: If creating and hosting your own safebrowing.gdb database, you can use the DatabaseCustomURL option in freshclam.conf to download it.
  • FreshClam: Improved HTTP 304, 403 and 429 handling.
  • FreshClam: Added the mirrors.dat file back to the database directory.
    This new mirrors.dat file will store:
    • A randomly generated UUID for the FreshClam User-Agent.
    • A retry-after timestamp that so FreshClam won't try to update after having received an HTTP 429 response until the Retry-After timeout has expired.
  • FreshClam will now exit with a failure in daemon mode if an HTTP 403 (Forbidden) was received because the outcome won't change if it tries again later. The FreshClam user will have to take appropriate action to get unblocked.
  • Fix the FreshClam mirror-sync issue where a downloaded database is "older than the version advertised."
If a new CVD download gets a version that is older than advertised, FreshClam will keep the older version and retry the update so that the incremental update process (CDIFF patch process) will update to the latest version.

 It has come to our attention that a few of you (about 515,000 of you, to be more accurate), are still attempting to download the safebrowsing.cvd file from the official ClamAV mirrors.  This tells us that these attempted downloads are an installation of FreshClam (a non-updated FreshClam.conf or other script) that have not been updated to remove the safebrowsing database. 

We discontinued the distribution of the SafeBrowsing database in November of 2019, as indicated in our blog post back in June, however these installations of ClamAV that have no updated and continue to download the safebrowsing.cvd account for nearly 10TB of traffic a month, just for that file.

As a result, we have put in a block to make any attempts to download the safebrowsing.cvd result in a 403 error.

Please take a look at your FreshClam.conf file, in our upcoming version of ClamAV (0.103.2 and beyond), we have removed all of the code that attempts to download the safebrowsing db from our servers, (so you should update) however, for those of you can't update right away, please find this line:

SafeBrowsing yes

In your Freshclam.conf file, and commenting it out like this:

#SafeBrowsing yes

Thank you for your support of ClamAV!

Friday, March 19, 2021

The amount of malicious files that ClamAV can detect has increased immensely over the past few years, but with this increase in efficacy comes some challenges with scale.  

Some of these challenges have required drastic measures to ensure the effective operation of the ClamAV infrastructure, including blocking certain methods of downloading the official ClamAV signature sets. To give the community more insight into these matters, we’d like to discuss some of these challenges in-depth and provide insight into future changes and optimizations coming to the product.

Tuesday, February 9, 2021

ClamAV community, we want to inform you that, effective March 1, ClamAV 0.99.0 (and all minor versions) will no longer be supported in accordance with ClamAV's EOL policy.  For clarification, anything prior to 0.100.0.

End of life (EOL) for ClamAV essentially means that we will no longer be testing against that version when we write signatures, and we may break something with a future release. So, while signatures may work past March 1, we are no longer testing that configuration. 

Please upgrade to the newest version of ClamAV, currently at 0.103.1, available for download now!

As always, thank you for using ClamAV.

Wednesday, February 3, 2021

ClamAV 0.103.1 is out now. Users can head over to clamav.net/downloads to download the release materials.
 
The latest version of ClamAV contains the following fixes and improvements:

Notable changes

  •  Added a new scan option to alert on broken media (graphics) file formats.

    This feature mitigates the risk of malformed media files intended to exploit vulnerabilities in other software. At present, media validation exists for JPEG, TIFF, PNG and GIF files. To enable this feature, set AlertBrokenMedia yes in clamd.conf for use with ClamD, or use the --alert-broken-media option when using ClamScan. These options are disabled by default in this patch release but may be enabled in a subsequent release.

    Application developers may enable this scan option by enabling CL_SCAN_HEURISTIC_BROKEN_MEDIA for the heuristic scan option bit field.
  • Added CL_TYPE_TIFF, CL_TYPE_JPEG types to match GIF and PNG typing behavior. BMP and JPEG 2000 files will continue to detect as CL_TYPE_GRAPHICS because ClamAV does not yet have BMP or JPEG 2000 format-checking capabilities.

 Bug fixes

  • Fixed PNG parser logic bugs that caused an excess of parsing errors and fixed a stack exhaustion issue affecting some systems when scanning PNG files. PNG file type detection was disabled via signature database update for ClamAV version 0.103.0 to mitigate the effects from these bugs.
  • Fixed an issue where PNG and GIF files no longer work with Target:5 graphics signatures if detected as CL_TYPE_PNG or CL_TYPE_GIF rather than as CL_TYPE_GRAPHICS. Target types now support up to 10 possible file types to make way for additional graphics types in future releases.
  • Fixed ClamOnAcc's --fdpass option.

    File descriptor passing (or "FD-passing") is a mechanism by which ClamOnAcc and ClamDScan may transfer an open file to ClamD to scan, even if ClamD is running as a non-privileged user and wouldn't otherwise have read-access to the file. This enables ClamD to scan all files without having to run ClamD as root. If possible, ClamD should never be run as root to mitigate the risk in case ClamD is somehow compromised while scanning malware.

    Interprocess file descriptor passing for ClamOnAcc was broken since version 0.102.0 due to a bug introduced by the switch to cURL for communicating with ClamD. On Linux, passing file descriptors from one process to another is handled by the kernel, so we reverted ClamOnAcc to use standard system calls for socket communication when FD-passing is enabled.
  • Fixed a ClamOnAcc stack corruption issue on some systems when using an older version of libcurl. Patch courtesy of Emilio Pozuelo Monfort.
  • Allow ClamScan and ClamDScan scans to proceed even if the realpath lookup failed. This alleviates an issue on Windows scanning files hosted on file-systems that do not support the GetMappedFileNameW() API, such as on ImDisk RAM-disks.
  • Fixed FreshClam's --on-update-execute=EXIT_1 temporary directory cleanup issue.
  • ClamD's log output and VirusEvent feature now provide the scan target's file path instead of a file descriptor. The ClamD socket API for submitting a scan by FD-passing doesn't include a file path. This feature works by looking up the file path by the file descriptor. This feature works on Mac and Linux but is not yet implemented for other UNIX operating systems. FD-passing is not available for Windows.
  • Fixed an issue where FreshClam database validation didn't work correctly when run in daemon mode on Linux/Unix.
  • Fixed scan speed performance issues accidentally introduced in ClamAV 0.103.0 caused by hashing file maps more than once when parsing a file as a new type, and caused by frequent scanning of non-HTML text data with the HTML parser.

Other improvements

  • Scanning JPEG, TIFF, PNG and GIF files will no longer return "parse" errors when file format validation fails. Instead, the scan will alert with the "Heuristics.Broken.Media" signature prefix and a descriptive suffix to indicate the issue, provided that the "alert broken media" feature is enabled.
  • GIF format validation will no longer fail if the GIF image is missing the trailer byte, as this appears to be a relatively common issue in otherwise functional GIFs.
  • Added a TIFF dynamic configuration (DCONF) option that was missing. This will allow us to disable TIFF format validation via signature database update in the event that it proves to be problematic. This feature already exists for many other file types.

Acknowledgments

The ClamAV team thanks Emilio Pozuelo Monfort for their code submissions.