adm-zip extraction keeps setuid bits from untrusted ZIP files
Key facts
- Attack vector
- Local
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- —
- Confidentiality · integrity · availability
- High · High · None
- Fix status
- Partial Red Hat: 2 fixed, 4 without a fix
Attack profile from CVSS 3.1 · CNA. Fix status from CNA, GitHub and Red Hat.
Summary
adm-zip before 0.6.1 applies the Unix permission bits stored in ZIP entries when the keepOriginalPermission option is set, and it does not remove the setuid and setgid bits (CWE-732). A local user with low privileges can supply a crafted ZIP archive so that an extracted file carries the setuid bit. When extraction runs as root, a less privileged user who later runs that file gets root execution.
Written with Claude Haiku 5.5 from the sources below · 2026-11-05
Description from the CNA
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| cthackers | adm-zip | before 0.6.1 | 0.6.1 | Patch available | CNA |
| — | adm-zip (npm) | before 0.6.1 | 0.6.1 | Patch available | GHSA-j5f4-cc29-5x44 |
- adm-zip Vendorcthackers Affected before 0.6.1 Fixed in 0.6.1 Patch available CNA
- adm-zip (npm) Vendor— Affected before 0.6.1 Fixed in 0.6.1 Patch available GHSA-j5f4-cc29-5x44
Remediation
Update adm-zip to 0.6.1, which fixes both the npm package and the cthackers entry. Red Hat fixes it in Red Hat OpenShift AI 3.4 (RHSA-2026:92510) and Red Hat Ansible Automation Platform 2.2 (RHSA-2026:86675). The sources list no fixed version for Red Hat Build of Podman Desktop, Red Hat OpenShift Container Platform 4 and Red Hat OpenShift AI (RHOAI), and Red Hat Fuse 7 has no fix planned.
Written with Claude Haiku 5.5 from the sources below · 2026-11-05
- Fix · CNA adm-zip (cthackers) Fixed in 0.6.1
- Fix · GHSA-j5f4-cc29-5x44 adm-zip (npm) Fixed in 0.6.1 Advisory →
Red Hat 2 advisories
- RHSA-2026:92510 Released 2026-10-29 · Red Hat rating CriticalRHOAI 3.4.6 - Red Hat OpenShift AI
- Red Hat OpenShift AI 3.4 registry.redhat.io/rhoai/odh-built-in-detector-rhel9, registry.redhat.io/rhoai/odh-cli-rhel9, registry.redhat.io/rhoai/odh-dashboard-rhel9 +47
- RHSA-2026:86675 Released 2026-10-21 · Red Hat rating ImportantAnsible plug-ins for Red Hat Developer Hub Product Release Update
- Red Hat Ansible Automation Platform 2.2 registry.redhat.io/ansible-automation-platform/automation-portal
Vendor assessments
Red Hat
Red Hat rating: Important. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat Build of Podman Desktop | Affected | No fix yet |
| Red Hat Fuse 7 | Affected | No fix planned: Will not fix |
| Red Hat OpenShift AI (RHOAI) | Affected | No fix yet |
| Red Hat OpenShift Container Platform 4 | Affected | No fix yet |
| Red Hat Ansible Automation Platform 2.2 | Fixed | RHSA-2026:86675 |
| Red Hat OpenShift AI 3.4 | Fixed | RHSA-2026:92510 |
Not affected: 6 products
- Red Hat Advanced Cluster Management for Kubernetes 2
- Red Hat Developer Hub 1
- Red Hat Enterprise Linux 8
- Red Hat Enterprise Linux 9
- Red Hat OpenShift AI 3.4
- Red Hat OpenShift Container Platform 5
Timeline
- 2026-10-05 Threatist record created from CVE-2026-102282
- 2026-10-06 Affected versions changed · Red Hat
- 2026-10-06 CVSS score added · Red Hat
- 2026-10-07 Priority changed: MEDIUM → LOW
- 2026-10-07 CISA SSVC decision points changed
- 2026-10-07 Priority changed: LOW → HIGH
- 2026-10-09 Affected versions changed · Red Hat
- 2026-10-16 Affected versions changed · Red Hat
- 2026-10-20 Affected versions changed · Red Hat
- 2026-10-21 Fix available: RHSA-2026:86675 · Red Hat
- 2026-10-21 Fix available: Red Hat Ansible Automation Platform 2.2 · Red Hat
- 2026-10-23 Affected versions changed · Red Hat
- 2026-10-27 Affected versions changed · Red Hat
- 2026-10-30 Fix available: RHSA-2026:92510 · Red Hat
- 2026-10-30 Fix available: Red Hat OpenShift AI 3.4 · Red Hat
- 2026-11-05 Affected versions changed · Red Hat
References
More cthackers vulnerabilities
- TI-2026-78715 Denial of service in adm-zip via unhandled error in inflateAsync CVSS 4.0HIGH 8.7
- TI-2026-53963 adm-zip: Uncontrolled memory allocation via the declared uncompressed size (DoS) CVSS 3.1HIGH 7.5
- TI-2026-78716 Decompression bomb guard bypass in adm-zip exhausts memory CVSS 4.0MEDIUM 6.9
- TI-2026-78717 Duplicate ZIP entry names bypass validation in adm-zip CVSS 4.0HIGH 8.2
- TI-2026-62130 adm-zip 0.5.14 through 0.6.0 Denial of Service via Zero Declared Uncompressed Size CVSS 4.0HIGH 8.7
- TI-2026-78718 Privilege escalation in adm-zip via setuid bits on extracted files CVSS 4.0MEDIUM 6.9
Sources
- CVE-2026-102282 · CVE Program
- CVE-2026-102282 · NVD
- FIRST EPSS
- CVE-2026-102282 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences