
ClamAV 是一款开源(GPLv2)防病毒工具包,专为邮件网关上的电子邮件扫描而设计。它提供了一系列实用程序,包括灵活且可扩展的多线程守护进程、命令行扫描器以及用于自动更新病毒库的高级工具。该软件包的核心是一个以共享库形式提供的防病毒引擎。
提示:ClamAV 并非传统的防病毒软件或终端安全套件。如需功能全面的现代终端安全套件,请了解 Cisco Secure Endpoint。更多详情请参阅下方的“相关产品”部分。
ClamAV 由思科系统公司(Cisco Systems, Inc.)提供。
社区项目
ClamAV 拥有一个多元化的生态系统,涵盖各类社区项目、产品及其他工具。这些项目或依赖 ClamAV 提供恶意软件检测能力,或通过新功能(如增强对第三方特征库的支持、图形用户界面 (GUI) 等)对 ClamAV 进行补充。
功能特性
- ClamAV 专为快速扫描文件而设计。
- 实时防护(仅限 Linux)。适用于 ClamD 扫描守护进程的 ClamOnAcc 客户端可在现代 Linux
版本上实现“访问时扫描”(on-access
scanning)功能。该功能包含一项可选特性:在文件完成扫描前阻止对其进行访问(即“访问时拦截”)。 - ClamAV 可检测数百万种病毒、蠕虫、木马及其他恶意软件,包括 Microsoft Office 宏病毒、移动恶意软件以及各类其他威胁。
- ClamAV 的字节码特征运行时(由 LLVM
或我们自研的字节码解释器驱动)允许特征编写人员创建并分发极其复杂的检测逻辑,从而远程增强扫描器的功能。 - 经签名的特征库确保 ClamAV 仅执行受信任的特征定义。
- ClamAV 不仅能扫描归档文件和压缩文件内部的内容,还能有效防范“归档炸弹”攻击。
- 支持解析 Windows 可执行文件(即 PE 文件,涵盖 32 位和 64 位版本),包括经由AsPack、UPX等方式压缩或混淆的
PE 文件。 - 支持 ELF 和 Mach-O 文件(包括 32 位和 64 位版本)
- 支持几乎所有的邮件文件格式
- 支持的其他特殊文件/格式包括:HTML、RTF、PDF、经 CryptFF 和 ScrEnc 加密的文件等等。
- 高级数据库更新程序,支持脚本化更新、数字签名以及基于 DNS 的数据库版本查询
Clam AntiVirus 具有极强的跨平台特性。由于开发团队无法测试所有操作系统,针对各类主流桌面操作系统中最新的两个长期支持(LTS)版本对 ClamAV 进行测试。目前支持的是Ubuntu 24.04 (x86_64, arm64);22.04 (x86_64, arm64)。
思科(Cisco)近期在博客中宣布,其开源杀毒引擎 ClamAV 的 1.4.6 和 1.5.4 版本现已发布。此次安全更新修复了多个严重漏洞;若这些漏洞被利用,攻击者可能通过分析受感染的文件来执行恶意代码或导致拒绝服务(DoS)状况。
这些补丁的首要任务是解决引擎分析器中存在的严重内存损坏和越界写入问题。1.5.4 版本修复了 CVE-2026-20337 漏洞,该漏洞源于 ZIP 目录容量跟踪问题,在索引本地文件头时会导致堆分配区域之外的写入操作。
ClamAV 1.4.6 与 1.5.4:漏洞修复
与此同时,这两个版本均修复了 CVE-2026-20345 漏洞,这是一个在转换 GPT 分区名称时发生的索引错误,会导致栈缓冲区溢出,并影响读写操作。另一个已修复的高风险漏洞是 CVE-2026-20339,由 PESpin 解包器中的整数溢出引起。该缺陷导致分配的缓冲区大小不足,从而在重建 PE 可执行文件时引发越界写入。针对 ZIP 文件处理,1.5.x 分支还包含一项专属修复(CVE-2026-20338),解决了文件目录记录合并过程中无效内存释放的问题。
该软件还针对旨在耗尽服务器资源或绕过隔离路径的攻击手段进行了修复。两次更新均解决了 CVE-2026-20346 漏洞,这是 PDF 文档解析器中的一个整数溢出问题,会导致系统在读取损坏的十六进制字符串时崩溃。
同样,CVE-2026-20347 修复了 Mach-O 二进制解析器中的未定义行为,而 CVE-2026-20348 则解决了 XAR 解析器在处理文件大小方面的缺陷,防止了解压格式错误的目录表(table-of-contents)时发生过度内存分配。针对 Windows 环境,此次更新还集成了一项源自原始 UnRAR 项目的修复,编号为 CVE-2025-8088。此次修改拒绝了 NTFS 备用数据流(Alternate Data Streams)中的路径分隔符,从而防止在文件提取过程中绕过 ClamAV 指定的临时扫描目录。
除了改进文件分析功能外,Cisco 还增强了防病毒软件辅助服务的稳定性,修复了主守护进程 STATS 命令中的线程安全问题;此前,当统计请求与扫描任务并发运行时,该问题可能导致进程内存泄露或服务崩溃。
针对特定操作,FreeBSD 用户现在可以安全地移动或删除隔离项,同时防范因路径替换引发的竞态条件风险。1.5.x 分支修复了 OpenSSL 库中的一个漏洞,该漏洞出现在启用了 FIPS 配置的环境中请求消息摘要(message summaries)的场景下。最后,团队审查了内部依赖项,并更新了 Rust 跨组件以应对 RUSTSEC-2026-0204 安全公告,从而确保了整个软件依赖链的完整性。
Ubuntu中安装ClamAV 指南
有意进行此次更新的用户,现可通过 ClamAV 官方门户网站、GitHub 仓库以及 Docker Hub 上的 Alpine 和 Debian 容器镜像,获取更新后的安装包与二进制文件。
对于管理 Debian 或 Ubuntu 发行版的用户,更新过程通过各自的官方软件源进行;只需打开终端并依次输入以下命令即可:
sudo apt-get update
sudo apt-get upgrade clamav clamav-daemon
sudo systemctl restart clamav-daemon