fix(deps): update dependency org.zeroturnaround:zt-zip from v1.17 to v1.18.2#610
Open
renovate[bot] wants to merge 1 commit into
Open
fix(deps): update dependency org.zeroturnaround:zt-zip from v1.17 to v1.18.2#610renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
e22f2ec to
2e47fdd
Compare
2e47fdd to
39ee132
Compare
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



This PR contains the following updates:
1.17→1.18.2Release Notes
zeroturnaround/zt-zip (org.zeroturnaround:zt-zip)
v1.18.2Compare Source
Security
:as a drive/stream separator, so an entry name like" ."could resolve to the output directory itself (re-applying the entry's permissions to it, GHSA-v2g6-7r9j-v6px) and a name like".. \evil.txt"could escape the output directory. The allocation-free fast path that clears genuine descendant entry names (avoiding agetCanonicalFile()call) no longer clears such names; they are canonicalized and rejected as malicious when their canonical path cannot be resolved or does not stay inside the output directory. The output-directory check compares canonicaljava.nio.file.Paths so a self-referencing name is recognised even whengetCanonicalFile()renders it with a trailing separator. Reported by Marcono1234.v1.18.1Compare Source
Fixed
ZipUtil.unpackno longer applies a ZIP entry's stored file permissions to the output directory itself when an entry's name resolves to it (for example an entry named/), which could change the output directory's permissions (GHSA-v2g6-7r9j-v6px).v1.18.0Added
packoverloads that write to an existingjava.util.zip.ZipOutputStream.Changed
slf4j-apidependency from 1.6.6 to 2.0.18. zt-zip uses only the SLF4J API; applications that pick this newer API up transitively and still use an SLF4J 1.x binding must move to an SLF4J 2.x-compatible binding.slf4j-apiis now a runtime-scoped dependency (previouslycompilescope), so it is no longer on the consumer compile classpath. Declare a directslf4j-apidependency if your own code references SLF4J.Fixed
Zipsunpack with a transformer no longer hangs when the transformer produces no entry, and a transformer that throws now surfaces its real exception to the caller instead of a misleading "Write end dead" pipe error.Zips.addEntry/addEntriesno longer fail with "Stream closed" when adding a directoryFileSource; a directory is now stored as a proper directory entry (#138).ZipUtil.packno longer fails withFileNotFoundExceptionwhen a directory contains a broken (dangling) symbolic link; such entries are skipped (#122).ZipUtil.packEntries/packEntry(File, File, NameMapper)now skip an entry whoseNameMapperreturnsnull(the same convention as the directorypack) instead of throwingNullPointerExceptionand leaving a partial zip.ZipUtilmethods that take a separate destination —addEntry/addEntries,removeEntry/removeEntries,replaceEntry/replaceEntries,addOrReplaceEntries,transformEntry/transformEntries,repack— now reject a destination equal to the source with anIllegalArgumentExceptioninstead of truncating and destroying the source before reading it; use the in-place variant (without a destination) instead.ByteSource(and thebyte[]ZipUtil.addEntry/replaceEntryoverloads) now acceptnullbytes as the documented directory entry instead of throwingNullPointerException.ByteSourcewithnullbytes and theSTOREDmethod now produces a valid empty entry (size 0, CRC 0) instead of failing with "STORED entry missing size, compressed size, or crc-32".Security
java.nio.file.Pathfor consistent sub-directory containment checks.Zipsfluent API unpack path (Zips.get(...).unpack().destination(...).process()) now applies the same path-traversal guard asZipUtil.unpack, rejecting entries that resolve outside the destination directory; this covers both the plain and transformer branches (#180).Files.createTempDirectory(atomic, owner-only permissions) instead of a predictable, world-readable directory.AsiExtraFieldnow validates the declared symbolic-link length against the bytes actually present before allocating, so a forged length in a crafted archive can no longer trigger a large (up to ~2 GB) memory allocation per entry while unpacking (#181).AsiExtraFieldnow rejects a truncated ASI extra field with aZipExceptioninstead of letting anArrayIndexOutOfBoundsException/NegativeArraySizeExceptionabort unpacking, completing the bounds check added in #181.BackslashUnpackernow validates the resolved path before creating any directories, so a backslash-separated..\entry can no longer create directories outside the output directory (the file write itself was already blocked).ZipUtil.explode,repackandunexplodenow create their working file or directory atomically (File.createTempFile/Files.createTempDirectory) instead of a predictable name next to the target, closing a symlink/TOCTOU race when the target sits in a shared directory; the predictableFileUtils.getTempFileForhelper is deprecated.ZipUtil.unwrapnow throws aZipExceptionfor an entry name whose path prefix resolves outside the name (such as a~- or:-prefixed name) instead of letting an uncheckedStringIndexOutOfBoundsExceptionabort the operation.Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.