Skip to content
Heist/ feed
High

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

Type: advisorySource: Official CVE List1 source record

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 setuid file is executed later by a lesser-privileged user, turning the attacker's code into a root execution. Version 0.6.1 fixes the issue.

Announced Group revision 1
Original source ↗

CVE-2026-102282

Primary source · Revision 1

Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.

Security context

Source reference: cve:CVE-2026-102282

adm-zip

Source reference: /containers/cna/affected/0/product

Affected versions
Not stated in this record
Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

Structured affected-version data

Original package identities and version rules from this source.

[
  {
    "vendor": "cthackers",
    "product": "adm-zip",
    "versions": [
      {
        "status": "affected",
        "version": "< 0.6.1"
      }
    ]
  }
]
Related CVEs
CVE-2026-102282

Source reference: /cveMetadata/cveId

Publisher severity

high

Source reference: /containers/cna/metrics

Event
#12302 · Revision 1
Added to Heist Feed
Publisher date
Read the original announcement