RUSTSEC-2026-0367 Insecure Preservation of SUID/SGID Bits during ZIP Extraction Leading to Potential Privilege Escalation
The Rust zip crate preserves SUID/SGID bits during extraction, allowing local privilege escalation if a privileged process extracts malicious archives.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Local or same network only
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is RUSTSEC-2026-0367?
RUSTSEC-2026-0367 is a vulnerability in zip, published on 9 Oct 2026. It can only be exploited from the same machine or local network, and only if a user opens a file or follows a link.
Official description
The zip crate preserves privileged Unix permission bits (SUID, SGID, and sticky bits) from ZIP external_attributes during extraction, instead of masking them to safe permission bits. If a privileged process (for example, root in an installer, CI/CD pipeline, or container build) extracts an attacker-controlled ZIP archive using ZipArchive::extract() or the stream extraction API, files can be created as setuid-root or setgid. This behavior allows the creation of SUID/SGID files during extraction, which can lead to local privilege escalation depending on the execution environment.
For further details see: https://github.com/zip-rs/zip2/security/advisories/GHSA-vv5m-jxxh-4627
Which versions are affected by RUSTSEC-2026-0367?
1 open source package ship an affected version, including zip.
| Package | Affected | Fixed in |
|---|---|---|
zip crates.io | From 0.0.0-0 | 9.0.0 |
How do I fix RUSTSEC-2026-0367?
Upgrade zip to 9.0.0 or later.
Is RUSTSEC-2026-0367 being exploited?
There is no known exploitation of RUSTSEC-2026-0367 in the wild and no public exploit code.
Sources
Also known as GHSA-vv5m-jxxh-4627.