Skip to content

[Snyk] Upgrade adm-zip from 0.4.7 to 0.6.0 - #1638

Open
andreiraca wants to merge 2 commits into
mainfrom
snyk-upgrade-c621115295edaa08556ca46b89811206
Open

[Snyk] Upgrade adm-zip from 0.4.7 to 0.6.0#1638
andreiraca wants to merge 2 commits into
mainfrom
snyk-upgrade-c621115295edaa08556ca46b89811206

Conversation

@andreiraca

Copy link
Copy Markdown

snyk-top-banner

Snyk has created this PR to upgrade adm-zip from 0.4.7 to 0.6.0.

ℹ️ Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.


  • The recommended version is 27 versions ahead of your current version.

  • The recommended version was released a month ago.

Issues fixed by the recommended upgrade:

Issue Score Exploit Maturity
high severity Directory Traversal
SNYK-JS-ADMZIP-1065796
244 No Known Exploit
critical severity Arbitrary File Write via Archive Extraction (Zip Slip)
npm:adm-zip:20180415
244 Mature
high severity Allocation of Resources Without Limits or Throttling
SNYK-JS-ADMZIP-17954277
244 Proof of Concept

Breaking Change Risk

Merge Risk: Medium

Notice: This assessment is enhanced by AI.

Release notes
Package name: adm-zip
  • 0.6.0 - 2026-07-10

    Full Changelog: v0.5.18...v0.6.0

    This release fixes a security vulnerability (CVE-2026-39244), resolves several long-standing bugs, ships built-in TypeScript types, and includes two behavior changes worth reading before you upgrade.

    • extractEntryTo(dirEntry, target, maintainEntryPath = false) now preserves subdirectories instead of flattening files into the target folder by basename (which also silently overwrote same-named files). (#306)
    • Extraction no longer fails when the modification time can't be set — utimes is now best-effort. (#379)
    • Minimum Node.js is now 14 (the code already required it; engines was incorrectly >=12).
    • CVE-2026-39244 — a crafted archive declaring a huge uncompressed size could force an unbounded Buffer.alloc and OOM the process; allocation is now bounded by the data actually present. Reported by Daniel Púa (devploit), Anh Hong, and José Antonio Zamudio Amaya. (#568)
    • Hardened entry-name lookup against object injection (proto names). Prototype-less table.
    • Data-descriptor regression rejecting valid archives (#548, #533, #554)
    • Directory permissions not restored on extract (#530)
    • Infinite recursion on symlink loops in addLocalFolder (#541)
    • Uncaught process crash in writeFileToAsync on write failure (#470, #459, #402)
    • Empty name on directory entries (#466)
    • test() always returned false for archives with files
    • ~6× faster entry sorting for large archives
    • Built-in TypeScript definitions (types.d.ts) — you can drop @ types/adm-zip
  • 0.5.18 - 2026-06-29

    What's Changed

    New Contributors

    Full Changelog: v0.5.17...v0.5.18

  • 0.5.17 - 2026-04-01

    What's Changed

    New Contributors

    Full Changelog: v0.5.16...v0.5.17

  • 0.5.16 - 2024-08-30

    What's Changed

    New Contributors

    Full Changelog: v0.5.15...v0.5.16

  • 0.5.15 - 2024-08-05

    What's Changed

    New Contributors

    Full Changelog: v0.5.14...v0.5.15

  • 0.5.14 - 2024-06-04

    Fixed an issue introduced on version 0.5.13 requiring a new mandatory parameter on the inflater on nodejs version >= 15

  • 0.5.13 - 2024-06-01
    • Fixed extractAllToAsync callback @ 5saviahv
    • Fixed issue with "toAsyncBuffer" where after that command all entries are gone @ 5saviahv
    • Minor fixes (tests, typos etc) @ 5saviahv
    • Added a an option to specificy the maximum expectedLength of the file to protect against zip bombs or limit memory usage @ undefined-moe
    • Add check for invalid large disk entries @ criyle
  • 0.5.12 - 2024-03-14
  • 0.5.11 - 2024-03-13
  • 0.5.10 - 2022-12-20
  • 0.5.9 - 2021-10-07

    v0.5.9

  • 0.5.8 - 2021-10-07
  • 0.5.7 - 2021-10-01
  • 0.5.6 - 2021-09-12
  • 0.5.5 - 2021-03-31
  • 0.5.4 - 2021-03-08
  • 0.5.3 - 2021-02-18
  • 0.5.2 - 2021-01-27
  • 0.5.1 - 2020-11-27
  • 0.5.0 - 2020-11-19
  • 0.4.16 - 2020-06-23
  • 0.4.14 - 2020-02-06
  • 0.4.13 - 2018-11-13
  • 0.4.11 - 2018-05-12
  • 0.4.10 - 2018-05-12
  • 0.4.9 - 2018-04-25
  • 0.4.8 - 2018-04-23
  • 0.4.7 - 2015-02-09
from adm-zip GitHub release notes

Important

  • Check the changes in this PR to ensure they won't cause issues with your project.
  • This PR was automatically created by Snyk using the credentials of a real user.
  • Max score is 1000. Note that the real score may have changed since the PR was raised.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.

For more information:

@andreiraca

Copy link
Copy Markdown
Author

Merge Risk: Medium

This upgrade from version 0.4.7 to 0.6.0 is a major version jump that includes important security fixes but also introduces potentially breaking changes.

Key Changes:

  • Behavioral Change in extractEntryTo: The behavior of extractEntryTo has changed. When the maintainEntryPath argument is set to false, the new version preserves subdirectories instead of flattening them. This could impact code that relies on the previous flattening behavior.
  • Node.js Version Support: Support for Node.js v6 was dropped in version 0.5.0. While Node.js v6 is long past its end-of-life, this is a breaking change for environments still using it.
  • Security Fixes: Version 0.6.0 addresses a high-severity Denial of Service (DoS) vulnerability (CVE-2026-39244) where a crafted archive could cause memory exhaustion. It also hardens against object injection vulnerabilities.

Recommendation:
Due to the behavioral change in file extraction, it is recommended to verify any usage of the extractEntryTo function to ensure it works as expected after the upgrade. The security fixes make this upgrade important.

Source: Yarn Changelog

Notice 🤖: This content was augmented using artificial intelligence. AI-generated content may contain errors and should be reviewed for accuracy before use.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants