{"id":"CVE-2026-63499","kind":"vulnerability","aliases":["CVE-2026-63499"],"related":[],"title":"zt-zip: crafted ZIP entries can overwrite extraction directory permissions","description":"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.","summary":"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.","severity":"medium","cvss":6.9,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["java","package","zt-zip"],"not_affected_if":["library-not-used","trusted-archives-only"],"how_to_check":"- Look for `zt-zip` in the project's Maven or Gradle dependencies and note the version.\n- Check whether the application calls `ZipUtil.unpack` on ZIP files from untrusted sources.","fix":"- `zt-zip` `1.18.1`","status":"open","published_at":"2026-11-03T18:18:04+00:00","first_seen_at":"2026-11-03T18:22:10+00:00","triaged_at":"2026-11-03T18:22:32+00:00","updated_at":"2026-11-03T18:22:32+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-11-03T18:22:32Z","model":"claude-haiku-5-5","output":{"fix":"- `zt-zip` `1.18.1`","reach":"local","title":"zt-zip: crafted ZIP entries can overwrite extraction directory permissions","impact":"medium","summary":"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.","audience":"developers","category":"package","nicknames":[],"who_cares":["java","zt-zip"],"confidence":0.7,"fix_status":"available","needs_auth":"no","worst_case":"Output directory permissions replaced with attacker-chosen permissions during extraction","analyst_note":"","how_to_check":"- Look for `zt-zip` in the project's Maven or Gradle dependencies and note the version.\n- Check whether the application calls `ZipUtil.unpack` on ZIP files from untrusted sources.","plain_action":"","needs_analyst":false,"not_affected_if":["trusted-archives-only","library-not-used"],"who_is_affected":"Applications that use zt-zip's ZipUtil.unpack on untrusted ZIP files are exposed, especially on POSIX systems where the issue is demonstrated directly. Applications that only unpack trusted archives, or that do not use this library, can skip it.","user_interaction":"no","needs_special_setup":"no","severity_if_unknown":"medium"},"cost_usd":0.00068,"input_tokens":4318,"output_tokens":497,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-2026':13A,16A '-63499':14A,17A '1.18.1':35B,72C,164C 'affect':134C 'appli':38B,75C 'applic':135C 'archiv':32B,68C 'attack':40B,130C 'attacker-suppli':39B,129C 'check':102C 'conveni':64C 'craft':4A 'cve':12A,15A 'demonstr':144C 'destin':113C 'direct':147C 'directori':10A,46B,54B,85C,96C,126C 'entri':6A,50B,79C,88C,107C 'escap':111C 'extract':9A,83C 'fallback':151C 'file':140C 'fix':161C 'handl':33B,119C,153C 'issu':146C,159C 'java':18B,28B,60C 'librari':29B,61C 'manipul':69C 'method':65C 'name':89C 'output':45B,84C,125C 'output-directori':124C 'overwrit':8A 'packag':19B 'path':100C,120C 'permiss':11A,42B,80C,118C,127C,132C,152C 'permission-handl':117C 'permit':103C 'posix':142C 'prior':70C 'provid':63C,150C 'referenc':106C 'replac':122C 'resolv':51B,93C 'restrict':123C 'self':105C 'self-referenc':104C 'store':76C 'suppli':41B,131C 'support':156C 'system':143C,157C 'travers':101C 'unpack':115C,137C 'untrust':138C 'version':163C 'zip':3A,5A,22B,25B,31B,49B,57C,67C,78C,139C 'zip-entri':77C 'ziputil.unpack':36B,73C 'zt':2A,21B,24B,56C 'zt-zip':1A,20B,23B,55C 'ztfilepermissionsutil.fetchdefaultstrategy':149C","nicknames":[],"mitigations":[],"who_affected":"Applications that use zt-zip's ZipUtil.unpack on untrusted ZIP files are exposed, especially on POSIX systems where the issue is demonstrated directly. Applications that only unpack trusted archives, or that do not use this library, can skip it.","tier":"C","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"developers","plain_action":null,"pkeys":[],"ptokens":[],"labels":["java","medium","package","ztzip"],"campaign_type":null,"first_public_at":"2026-07-01T13:51:42+00:00","kev":null,"cvss_vector":"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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","cvss_by":"security-advisories@github.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-63499","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-63499","severity":null,"published_at":"2026-11-03T18:18:04+00:00","modified_at":"2026-11-03T18:18:04+00:00","first_seen_at":"2026-11-03T18:22:10+00:00","fetched_at":"2026-11-03T18:22:10+00:00","note":null}],"documents":[{"id":59670,"url":"https://github.com/zeroturnaround/zt-zip/commit/1b625467b4c3cd3a9bee9efc35bdef2f8d9c8dad","title":"Patch: github.com","kind":"other","source":"nvd","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Patch: github.com"},{"id":59671,"url":"https://github.com/zeroturnaround/zt-zip/releases/tag/v1.18.1","title":"Release notes: github.com","kind":"release","source":"nvd","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Release notes: github.com"},{"id":59672,"url":"https://github.com/zeroturnaround/zt-zip/security/advisories/GHSA-v2g6-7r9j-v6px","title":"Vendor advisory: github.com","kind":"vendor","source":"nvd","publisher":"vendor","text":null,"published_at":"2026-07-01T13:51:42+00:00","relation":"advisory","confidence":null,"note":"Vendor advisory: github.com"}],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}