7-Zip 被曝缓冲区溢出漏洞,可被用于远程执行任意代码
安全研究机构 Zero Day Initiative 上周提交漏洞报告称,压缩软件 7-Zip 存在一项基于堆(Heap)的缓冲区溢出漏洞,ZDI 给了 7.0 分,据称黑客可利用其远程执行任意代码。 问题出在 MixCoder_Code 函数里。XZ 流通过 filter 管道输出时,解码器每次收到的不是剩余空间,而是完整的输出缓冲区长度。换句话说,它以为自己还有大把地方可写,实际上后面的字节已...
安全研究机构 Zero Day Initiative 上周提交漏洞报告称,压缩软件 7-Zip 存在一项基于堆(Heap)的缓冲区溢出漏洞,ZDI 给了 7.0 分,据称黑客可利用其远程执行任意代码。

问题出在 MixCoder_Code 函数里。XZ 流通过 filter 管道输出时,解码器每次收到的不是剩余空间,而是完整的输出缓冲区长度。换句话说,它以为自己还有大把地方可写,实际上后面的字节已经不属于它了。
攻击者只需要造一个恶意的 XZ 压缩包。客户一旦解压,代码就能在当前进程的权限下执行。好在这是个本地漏洞——不能通过网络直接打,需要用户交互。Windows 下 7-Zip 默认受过滤令牌限制,即使管理员账户也不会直接拿到高权限。
发现者是 Lunbun LLC 的 Landon Peng,6 月 5 日报给 7-Zip 团队。修复版本 26.02 在 6 月 25 日就发了——比 ZDI 7 月 15 日公开 advisory 早了 20 天。截至目前没有公开的 PoC,也没有在野利用的报告。
这不是第一次了。今年 4 月的 26.01 版本修了一波内存安全漏洞,包括 NTFS handler 的堆写溢出(那个更严重,GitHub Security Lab 当时给出了可用的 PoC)。再往前翻,类似的"解压即执行"型漏洞在 7-Zip 的历史上反复出现。
New 7-Zip Vulnerability Could Let Crafted XZ Archives Run Code During Extraction — The Hacker News

