What’s Vulnerable › Vulnerabilities
CVE-2026-102282: adm-zip extraction preserves SUID/SGID bits from untrusted ZIPs -> local privilege escalation
- Severity: high (CVSS 7.1 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.2% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2026-10-05 · updated 2026-10-07
- Weakness: CWE-732
Description
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.
Affected products
- cthackers adm-zip: before 0.6.1
References
- https://github.com/cthackers/adm-zip/commit/6a63c339b83c52915483efacda517660a7a7bf87
- https://github.com/cthackers/adm-zip/releases/tag/v0.6.1
- https://github.com/cthackers/adm-zip/security/advisories/GHSA-j5f4-cc29-5x44
- https://github.com/cthackers/adm-zip/security/advisories/GHSA-j5f4-cc29-5x44
Get alerted when CVE-2026-102282 or the next vulnerability affects your stack