---
id: "CVE-2026-63499"
kind: "vulnerability"
aliases: ["CVE-2026-63499"]
title: "zt-zip: crafted ZIP entries can overwrite extraction directory permissions"
severity: "medium"
cvss: 6.9
epss: null
exploited: false
status: "open"
category: "package"
products: []
ecosystems: []
tags: ["java", "package", "zt-zip"]
not_affected_if: ["library-not-used", "trusted-archives-only"]
published_at: "2026-11-03T18:18:04+00:00"
first_seen_at: "2026-11-03T18:22:10+00:00"
updated_at: "2026-11-03T18:22:32+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-63499", "first_seen_at": "2026-11-03T18:22:10+00:00"}]
---

# zt-zip: crafted ZIP entries can overwrite extraction directory permissions

zt-zip is a Java library for ZIP archive handling. Before 1.18.1, ZipUtil.unpack can apply attacker-supplied permissions to the output directory when a ZIP entry resolves to that directory itself.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Look for `zt-zip` in the project's Maven or Gradle dependencies and note the version.
- Check whether the application calls `ZipUtil.unpack` on ZIP files from untrusted sources.

## Fix

- `zt-zip` `1.18.1`

## Timeline

- 2026-11-03T18:22:10+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-63499

## Documents

- [advisory] Vendor advisory: github.com https://github.com/zeroturnaround/zt-zip/security/advisories/GHSA-v2g6-7r9j-v6px
- [fix] Patch: github.com https://github.com/zeroturnaround/zt-zip/commit/1b625467b4c3cd3a9bee9efc35bdef2f8d9c8dad
- [fix] Release notes: github.com https://github.com/zeroturnaround/zt-zip/releases/tag/v1.18.1

## From the sources

zt-zip is a Java library that provides convenience methods for ZIP archive manipulation. Prior to 1.18.1, ZipUtil.unpack(...) can apply stored ZIP-entry permissions to the extraction output directory when an entry name such as / or ./ resolves to that directory itself. Because the path traversal checks permit self-referencing entries that do not escape the destination, the unpacker's permission-handling path can replace restrictive output-directory permissions with attacker-supplied permissions. This affects applications that unpack untrusted ZIP files, and POSIX systems demonstrate the issue directly, while ZTFilePermissionsUtil.fetchDefaultStrategy provides fallback permission handling on other supported systems. This issue is fixed in version 1.18.1.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
