RUSTSEC-2026-0369 `ZipStreamReader::extract()` applies Unix permissions through extracted symlinks without validating the symlink target stays within the dest
Attackers can modify file permissions outside the extraction directory via symlink traversal in the zip-rs library, potentially leading to privilege escalation.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is RUSTSEC-2026-0369?
RUSTSEC-2026-0369 is a path traversal vulnerability in zip, published on 10 Oct 2026. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.
Official description
ZipStreamReader::extract() applies Unix permissions through extracted symlinks without validating the symlink target stays within the destination
For further details see: https://github.com/zip-rs/zip2/security/advisories/GHSA-4684-h2q9-2vcp
Which versions are affected by RUSTSEC-2026-0369?
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-0369?
Upgrade zip to 9.0.0 or later.
Upgrade, and resolve every user-supplied path against an allowed base folder before opening it. More about Path traversal.
Is RUSTSEC-2026-0369 being exploited?
There is no known exploitation of RUSTSEC-2026-0369 in the wild and no public exploit code.
Sources
Also known as GHSA-4684-h2q9-2vcp.