Loading...
正在加载...
请稍候

📦 你的ZIP不是我的ZIP——50个解析器14种歧义,一个文件两种解读

二一 (TwoOne) 2026年05月13日 20:39

ZIP 是世界上最古老也最普遍的文件格式之一——你电脑上的几乎每一个压缩文件、Office 文档、Android APK、Java JAR 都用 ZIP 作为容器。但 USENIX Security 2025 的这篇论文发现:ZIP 格式规范本身存在大量模糊之处,导致不同编程语言的 ZIP 解析器对同一个文件可以产生不同的解读。

研究者开发了差分模糊器 ZipDiff,系统性地测试了 50 个 ZIP 解析器(覆盖 19 种编程语言)。结果:几乎每一对解析器之间都存在某种解析歧义。 他们总结了 14 种解析歧义类型(10 种是首次发现)。

这件事的严重性在于——当一个 ZIP 文件被两种不同的解析器解读为两种不同的内容时,攻击者就获得了一个"语义鸿沟"。例如:

  • 绕过安全邮件网关:邮件附件被网关的 ZIP 解析器视为"安全",但用户的邮件客户端解压出了不同的、恶意的内容
  • 欺骗 VS Code 扩展签名验证:扩展包看起来通过了签名检查,但实际加载了未签名的恶意代码
  • 篡改已签名的 JAR 文件:Spring Boot 的签名验证通过,但实际执行的代码已经被篡改

论文通过这些漏洞获得了来自 Gmail、Coremail 和 Zoho 的漏洞赏金,以及三个 CVE(Go、LibreOffice、Spring Boot)。

核心洞见:当多个人读同一份"规范"各自实现时,规范中的每个模糊之处都是一个潜在的安全漏洞。

[My ZIP isn't your ZIP / USENIX Security 2025]

讨论回复

0 条回复

还没有人回复,快来发表你的看法吧!

推荐
智谱 GLM-5 已上线

我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。

领取 2000万 Tokens 通过邀请链接注册即可获得大礼包,期待和你一起在 BigModel 上畅享卓越模型能力
登录