p PatchFirst

PatchFirst · Latest vulnerabilities

adm-zip vulnerabilities

Vulnerabilities published for adm-zip in the last 30 days: 4. Listed in the KEV catalogue: 0.

Filter vulnerabilities
Clear filters

Vulnerabilities: 9

  1. CVE-2026-114104

    High · CVSS 8.2EPSS 0.23%Fix available

    adm-zip before 0.6.1 Duplicate ZIP Entry Name Validation Bypass

    adm-zip before 0.6.1 contains an inconsistent entry resolution vulnerability that allows attackers to bypass content validation by supplying ZIP archives with duplicate entry names. Attackers can craft archives where getEntry() returns the last duplicate while extractAllTo() writes the first, causing unvalidated bytes to be written to disk.

    • Update to 0.6.1
    Published Updated
  2. CVE-2026-114103

    Medium · CVSS 6.9EPSS 0.27%Fix available

    adm-zip 0.6.0 Decompression Bomb Guard Bypass via getDataAsync()

    adm-zip 0.6.0 contains a decompression bomb protection bypass that allows attackers to evade the maxOutputLength guard by targeting the asynchronous getDataAsync() path in methods/inflater.js. Attackers can craft ZIP entries with falsified small declared sizes and high-ratio DEFLATE payloads to exhaust memory in applications reading entries asynchronously.

    • Update to 0.6.1
    Published Updated
  3. CVE-2026-114102

    High · CVSS 8.7EPSS 0.29%Public exploitFix available

    adm-zip before 0.6.1 Denial of Service via inflateAsync Unhandled Error Event

    adm-zip before 0.6.1 contains a denial of service vulnerability that allows unauthenticated attackers to crash the Node.js process via a malformed ZIP file, because inflateAsync in methods/inflater.js lacks a zlib stream error listener. Attackers can supply a ZIP with corrupted DEFLATE data processed by readFileAsync, readAsTextAsync, extractAllToAsync, or getDataAsync, triggering an uncatchable exception that terminates all in-flight requests.

    • Update to 0.6.1
    Published Updated
  4. CVE-2026-102282

    High · CVSS 7.1EPSS 0.15%Public exploitFix available

    adm-zip extraction preserves SUID/SGID bits from untrusted ZIPs -> local privilege escalation

    adm-zip is a JavaScript library for creating and extracting ZIP archives in Node.js. Prior to 0.6.1, adm-zip applies the Unix permission bits stored in a zip entry directly to the extracted file via `fs.chmodSync()` when `keepOriginalPermission=true` is passed to `extractAllTo()`/`extractEntryTo()` — and it never filters the setuid/setgid/sticky bits out of those bits. A zip crafted by an attacker can therefore produce an extracted binary with mode `04755`. When extraction runs as root (the default posture in Docker builds, CI runners, and privileged install steps — the exact environments where this flag is used), the resulting root-owned set

    • Update to 0.6.1
    Published Updated
  5. CVE-2026-77301

    High · CVSS 7.5EPSS 0.61%Fix available

    adm-zip: Uncontrolled memory allocation via the declared uncompressed size (DoS)

    adm-zip is a JavaScript library for creating and extracting ZIP archives in Node.js. Prior to 0.6.1, getData() in zipEntry.js trusts an entry's central-directory uncompressed size and allocates output memory before validating that value against the actual compressed data and decompression result. A small crafted ZIP can declare a multi-gigabyte uncompressed size, causing Buffer.alloc and decompression handling to commit excessive resident memory before CRC validation reports an error. Applications that read entries from untrusted archives can therefore be terminated by the operating system or suffer service-wide memory exhaustion. This issue

    • Update to 0.6.1
    Published Updated
  6. CVE-2026-92000

    High · CVSS 8.7EPSS 0.68%Fix available

    adm-zip 0.5.14 through 0.6.0 Denial of Service via Zero Declared Uncompressed Size

    adm-zip versions 0.5.14 through 0.6.0 fail to apply zlib decompression output limits when ZIP entries declare zero uncompressed size. Attackers can craft malicious ZIP archives with highly compressible entries declaring zero size to exhaust memory and cause denial of service.

    • Update to 0.6.1
    Published Updated
  7. CVE-2026-76845

    Medium · CVSS 6.8EPSS 0.17%No fix published

    adm-zip 0.5.9 through 0.6.0 Arbitrary File Overwrite via Symlink Following on Extraction

    adm-zip 0.5.9 through 0.6.0 follows symbolic links at the extraction destination. Utils.sanitize in util/utils.js enforces containment by comparing only the string form of an archive entry name against the resolved extraction root, and Utils.writeFileTo opens the computed destination with fs.openSync(path, "w", 0o666), which resolves symbolic links and carries neither O_NOFOLLOW nor a pre-write fs.lstatSync check. When a path component at the destination already exists as a symbolic link pointing outside the extraction root, extractAllTo, extractAllToAsync and extractEntryTo write the entry contents through that link and then chmod its target

    Published Updated
  8. CVE-2026-39244

    High · CVSS 7.5EPSS 0.84%Fix available

    CVE-2026-39244

    adm-zip before 0.5.18 is vulnerable to denial of service via a crafted ZIP file with a manipulated uncompressed size header field. In zipEntry.js line 103, Buffer.alloc(_centralHeader.size) allocates memory based on the declared uncompressed size from the ZIP central directory header without validating it against the actual compressed data size or imposing any upper bound. The size value is read directly from the binary header at entryHeader.js line 266 with no bounds check. An attacker can craft a ~120-byte ZIP file that declares ~4GB uncompressed size, causing a memory allocation amplification ratio of over 33 million to 1. The allocation o

    • Update to 0.6.0
    Published Updated

Check your server

Check your installed stack and versions against the current vulnerability feeds.

Check your server →