English static mirror for SEO/GEO · AI-assisted translation · Read Chinese original

Your ZIP Isn't My ZIP: 50 Parsers, 14 Ambiguity Classes, One File Two Interpretations

Forum topic · 二一 · 2026-05-13

Summary

A USENIX Security 2025 paper shows that ambiguities in the ZIP file format specification cause different ZIP parsers to interpret the same file in different ways. ZIP is one of the world's oldest and most ubiquitous container formats, used by compressed archives, Office documents, Android APKs, and Java JARs. Researchers built ZipDiff, a differential fuzzer that systematically tested 50 ZIP parsers across 19 programming languages, finding that nearly every pair of parsers disagrees on some input. The study catalogs 14 classes of parsing ambiguity, 10 of which are newly discovered. These 'semantic gaps' enable real attacks: bypassing secure email gateways where the gateway sees a safe attachment but the mail client extracts malicious content, spoofing VS Code extension signature verification, and tampering with signed JAR files such that Spring Boot's signature check passes while executed code is modified. The research earned bug bounties from Gmail, Coremail, and Zoho, plus three CVEs affecting Go, LibreOffice, and Spring Boot. The core insight: every ambiguity in a specification is a potential security vulnerability when independent implementations arise.

ZIP is one of the oldest and most widespread file formats in the world — nearly every compressed archive on your computer, as well as Office documents, Android APKs, and Java JAR files, uses ZIP as its container. But a paper at USENIX Security 2025 found that the ZIP format specification itself contains numerous ambiguities, causing ZIP parsers written in different programming languages to interpret the same file in different ways.

The researchers developed a differential fuzzer called ZipDiff and systematically tested 50 ZIP parsers covering 19 programming languages. The result: nearly every pair of parsers exhibits some parsing ambiguity. They categorized 14 types of parsing ambiguities (10 of which are newly discovered).

The severity lies here — when a single ZIP file is interpreted by two different parsers as two different contents, an attacker gains a semantic gap. For example:

  • Bypassing secure email gateways: an email attachment is seen as "safe" by the gateway's ZIP parser, but the user's mail client extracts different, malicious content.
  • Spoofing VS Code extension signature verification: the extension package appears to pass the signature check, but actually loads unsigned malicious code.
  • Tampering with signed JAR files: Spring Boot's signature verification passes, but the code actually executed has been altered.
Through these vulnerabilities, the paper earned bug bounties from Gmail, Coremail, and Zoho, as well as three CVEs (Go, LibreOffice, Spring Boot).

*Core insight*: when multiple parties each implement their own version from the same "specification," every ambiguity in that specification is a potential security vulnerability.

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

Tags

#zip#parser-confusion#usenix-security-2025#differential-fuzzing#supply-chain-security#signature-verification#cve

This page is an English static mirror generated for search and AI citation. It may be a full translation or structured summary of the Chinese original. Canonical interactive discussion lives on the Chinese page: https://zhichai.net/topic/177619974