在 7-Zip 中打开经过精心构造的 XZ 压缩包,这可能会让攻击者在目标机器上执行代码。该漏洞编号为 CVE-2026-14266,是 7-Zip 处理 XZ 分块数据时存在的基于堆的缓冲区溢出漏洞。Trend Micro 的零日漏洞计划(Zero Day Initiative,ZDI)于 7 月 15 日对该漏洞进行了详细的说明。7-Zip 已于 6 月 25 日发布 26.02 版本修复了该问题。
该溢出漏洞允许攻击者 “在当前进程的上下文中执行代码”。根据漏洞公告,执行的代码只能使用 7-Zip 进程本身所持有的令牌权限,并不会自动获得额外的权限。
在 Windows 系统中,即使用户使用的是管理员账户,正常启动的 7-Zip 也会运行在经过筛选的标准用户令牌下。因此,攻击者通常只能继承这些有限权限,除非用户以提升权限方式启动了该程序。Lunbun LLC 的 Landon Peng 发现了该漏洞,并于 6 月 5 日向 7-Zip 提出了报告。
ZDI 将该漏洞评为 7.0 分(高危),而不是一些报道中所称的 “严重” 级别。完整的 CVSS 3.0 评分向量为:
AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H
其中,AV:L 表示该漏洞属于本地攻击向量,并非可通过网络远程触发,也不是无需用户交互即可利用的漏洞。
ZDI 所称的 “远程代码执行” 指的是远程攻击者可以将恶意文件发送给受害者,但受害者仍需要主动打开该文件。文件可能会通过电子邮件、下载链接,或者网页提供给 7-Zip 打开的方式到达用户设备。较高的攻击复杂度也进一步增加了稳定利用的难度。截至 2026 年 7 月 20 日,尚未发现该漏洞存在公开可用的概念验证代码,也没有可信的报告显示该漏洞已被实际利用。
该修复只涉及一个函数:C/XzDec.c 中的 MixCoder_Code。
当 XZ 数据流通过过滤器处理输出时,解码器在每次处理过程中都会被传入完整的输出缓冲区长度,而不是扣除掉之前写入数据后剩余的可用空间。这导致解码器认为自己拥有比实际缓冲区更大的可写空间,从而产生 ZDI 所描述的越界写入问题。
26.02 版本修复了这一问题,其中它会减去已经写入的字节数量,并在累计写入量超过缓冲区容量时立即终止操作。
从 7-Zip 的源代码来看,相同的错误长度处理逻辑至少从 21.07 版本(2021 年)开始就存在。不过,ZDI 和 7-Zip 官方都尚未说明具体哪些版本实际上可以被利用。
CVE-2026-14266 是近期 7-Zip 压缩包处理组件中出现的一系列内存安全漏洞中的最新一个。
此前,26.01 版本于 4 月 27 日修复了一批漏洞,其中包括评分更高的 CVE-2026-48095。该漏洞涉及 NTFS 处理模块中的堆写入溢出问题,GitHub Security Lab 于 5 月 22 日公布了详细分的析以及可运行的概念验证代码。(https://securitylab.github.com/advisories/GHSL-2026-140_7-Zip/)
目前来看,XZ 漏洞的影响相对较低,而 26.02 已整合修复了此前所有相关的问题,所以只需一次更新即可覆盖全部修复内容。
因此,建议所有需要打开外部来源压缩包的设备升级到 7-Zip 26.02 或更高版本。
7-Zip 的更新需要用户从官方网站手动进行安装,而那些长期无人维护或 “安装后不再管理” 的设备不会自动获得更新。任何包含易受攻击版本 7-Zip XZ 解码器的产品,也需要由对应厂商发布自己的修复更新。



