IT之家 5 月 28 日消息,科技媒体 cybersecuritynews 于 5 月 26 日发布博文,披露称在 7-Zip 26.00 及此前版本中,存在 CVE-2026-48095 高危漏洞,推荐用户尽快升级到最新 26.01 安全版本(4 月 27 日发布)。 该漏洞追踪编号为 CVE-2026-48095,类型是堆缓冲区写入溢出。根据披露信息,攻击者通过构造恶意 ZIP 压缩包,可以触发该漏洞,可以执行任意代码,或直接让应用崩溃。 漏洞根因位于 NtfsHandler.cpp 的 CInStream::GetCuSize () 函数。这里用 32 位移位表达式计算 NTFS 压缩单元缓冲区大小:(UInt32)1 << (BlockSizeLog + CompressionUnit)。 当特制 NTFS 镜像把 ClusterSizeLog 设为大于等于 28,且压缩数据属性中的 CompressionUnit 为 4 后,移位指数达到 32,触发 Undefined Behavior(未定义行为)。 在 x86 硬件上,这种未定义行为会让 _inBuf 最终只分配 1 字节。随后程序却在 ReadStream_FALSE 调用中,向这块仅有 1 字节的缓冲区写入最高 256 MB 的攻击者可控数据,由此造成严重的堆缓冲区溢出。 由于 CInStream 对象在堆上距离 _inBuf 仅 304 字节,首次 64 KB 读取就可能覆盖对象的虚函数表指针。 接下来在第 2 次迭代中,程序会通过已被篡改的虚函数表分派调用,形成典型的虚函数表劫持。攻击者可借助精心构造的 NTFS 簇内容控制被覆盖指针,从而把漏洞从内存破坏升级为任意代码执行。 报道指出,32 位和 64 位构建版本都会受影响;在 64 位且内存达到 16 GB 及以上的系统中,_outBuf.Alloc (8 GB) 可能成功,漏洞链可直接走向溢出;低内存设备上影响更可能停留在拒绝服务。 对于普通用户而言,在实际攻击场景下,用户未必需要手动解压大量文件,只要接触到经过特制的 ZIP 文件,就可能面临风险。 该漏洞 CVSS 3.1 评分为 8.8,高危,关联 CWE(通用缺陷枚举)787 越界写入与 190 整数溢出。漏洞由 GitHub Security Lab 的 Jaroslav Lobačevski 发现并负责任披露。 按照披露页面给出的时间线,漏洞于 2026 年 4 月 24 日报告,修复版本 26.01 于 4 月 27 日发布,前后间隔 3 天。 IT之家附上官方下载地址 7-Zip 官方下载地址
Full article body is being fetched in the background. Refresh in a moment to see the complete paragraphs. For now this page shows a summary and AI analysis.
