---
id: CVE-2026-63499
title: 'zt-zip: ZipUtil.unpack can change file permissions of output directory'
summary: >-
  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
  ./ re…
severity: medium
cvss: 6.9
cvssVector: 'CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:H/VA:L/SC:N/SI:N/SA:N'
cvssSource: cna
cwe:
  - CWE-23
vendor: zeroturnaround
product: zt-zip
affected:
  - zt-zip < 1.18.1
ssvc:
  exploitation: poc
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2026-11-03T19:38:07.051046Z'
exploitAvailable: true
published: '2026-11-03'
updated: '2026-11-03'
sourceUpdated: '2026-11-03T19:38:28.292Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-63499'
references:
  - url: >-
      https://github.com/zeroturnaround/zt-zip/security/advisories/GHSA-v2g6-7r9j-v6px
    label: >-
      https://github.com/zeroturnaround/zt-zip/security/advisories/GHSA-v2g6-7r9j-v6px
  - url: 'https://github.com/zeroturnaround/zt-zip/pull/191'
    label: 'https://github.com/zeroturnaround/zt-zip/pull/191'
  - url: >-
      https://github.com/zeroturnaround/zt-zip/commit/1b625467b4c3cd3a9bee9efc35bdef2f8d9c8dad
    label: >-
      https://github.com/zeroturnaround/zt-zip/commit/1b625467b4c3cd3a9bee9efc35bdef2f8d9c8dad
  - url: 'https://github.com/zeroturnaround/zt-zip/releases/tag/v1.18.1'
    label: 'https://github.com/zeroturnaround/zt-zip/releases/tag/v1.18.1'
tags:
  - cve.org
  - exploit-available
epss: 0.0028
epssPercentile: 0.20655
ingestedAt: '2026-11-05T20:33:06.399Z'
---

## Overview

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.

## Affected

- `zt-zip < 1.18.1`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
