{
  "title": "zip: AES HMAC verification skipped when the decompressor stops early",
  "category": "security",
  "type": "auth-bypass",
  "severity": "medium",
  "cvss": {
    "score": 5.9,
    "vector": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N"
  },
  "ecosystem": "rust",
  "project": {
    "owner": "zip-rs",
    "repo": "zip2",
    "url": "https://github.com/zip-rs/zip2"
  },
  "affected_versions": [
    "zip <= 8.6.0"
  ],
  "status": "published",
  "disclosure": {
    "channel": "pvr",
    "ghsa_id": "GHSA-c9rm-qm35-rhqf",
    "cve_id": null,
    "url": "https://github.com/zip-rs/zip2/security/advisories/GHSA-c9rm-qm35-rhqf",
    "reported_at": "2026-10-04T00:00:00+03:00",
    "published_at": "2026-10-23T22:31:07+03:00"
  },
  "summary": "When reading an AES-encrypted entry, the HMAC authentication check ran only after the full stream was consumed. If the decompressor stopped early, the check was skipped, so an attacker could forge entry content that was accepted without knowing the password. Fixed in zip 9.0.1.",
  "discovered_at": "2026-10-03T00:00:00+03:00",
  "public": true,
  "credit": "ucsurf",
  "updated_at": "2026-10-23T22:56:00+03:00",
  "pr": null,
  "id": "security/rust/zip-rs__zip2/2026-10-03-aes-hmac-skip-early-stop",
  "patched_versions": [
    "zip 9.0.1"
  ]
}
