原创漏洞 | ClamAV PESpin 解包器堆缓冲区溢出漏洞
微步情报局 2026-09-11 18:32 北京

点击查看漏洞详情
漏洞概况
ClamAV 是开源恶意软件扫描引擎,广泛用于邮件网关、文件网关与终端安全产品中的病毒检测。
近日,Cisco 官方发布通告,修复了ClamAV PESpin 解包器堆缓冲区溢出漏洞(CVE-2026-20339),该漏洞由微步XGPT发现并报送 Cisco 官方。
ClamAV 的 PESpin 解包器存在整数溢出导致的堆缓冲区溢出漏洞,未认证攻击者提交含 PESpin 内容的特制 PE 文件并使其被扫描后,可造成扫描进程崩溃、中断杀毒扫描,满足特定利用条件时可执行任意代码。建议受影响用户尽快修复。
int blobsz = 0; /* 有符号 32 位 */for (j = 0; j < sectcnt; j++)blobsz += (bitmap & 1) ? sections[j].vsz : sections[j].rsz; /* 无溢出检查 */ep = cli_max_malloc(blobsz); /* 回绕 → 过小堆块 */for (j = 0; j < sectcnt; j++) {uint32_t rsz = (bitmap & 1) ? sections[j].vsz : sections[j].rsz;memcpy(to, sects[j], rsz); /* 按真实节区长度写入 —— 越界发生于此 */to += rsz;}
ClamAV 扫描被识别为 PESpin 打包的 PE 时,`unspin()` 会解密、解压各节区,再把它们拼成一块连续镜像。该函数用有符号 32 位整数 `blobsz` 累加各节尺寸,并且不做溢出检查。`blobsz` 回绕之后,`unspin()` 仍按这个过小值调用 `cli_max_malloc`,再按各节真实长度做 `memcpy`,从而在堆上越界写。
(完整漏洞情报请查阅https://x.threatbook.com/v5/vul/XVE-2026-46443)
漏洞处置优先级(VPT)
综合处置优先级:中风险
基本信息 | 微步编号 | XVE-2026-46443 |
CNNVD编号 | CNNVD-2026-92320721 | |
CVE编号 | CVE-2026-20339 | |
漏洞类型 | 堆缓冲区溢出 | |
利用条件评估 | 利用漏洞的网络条件 | 远程 |
是否需要绕过安全机制 | 否 | |
对被攻击系统的要求 | 无特殊要求 | |
利用漏洞的权限要求 | 无须用户权限 | |
是否需要受害者配合 | 否 | |
利用情报 | 是否有POC | 是 |
已知利用行为 | 暂无 |
漏洞影响范围
产品名称 | ClamAV |
受影响版本 | 0.90 <= version < 1.4.6、1.5.0 <= version < 1.5.4 |
有无修复补丁 | 有 |
修复方案
官方修复方案
官方已发布修复方案,请访问链接下载:
https://sec.cloudapps.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-clamav-WuuvVd26
临时缓解措施
将 `clamd.conf` 中 `ScanPE` 设为 `no`,或对 `clamscan` 使用 `--scan-pe=no`,关闭 PE 深度解析与 packer 解压,使扫描不再进入 PESpin 解包。
微步产品支撑
微步漏洞情报于2026-08-07收录该漏洞。
微步下一代威胁情报平台NGTIP及X情报中心已于漏洞收录时向漏洞订阅用户推送该漏洞情报,并将持续推送后续更新;对于已经录入资产的用户,支持实时自动化排查受影响资产。