Vulnerability advisory
CVE-2025-29787
zip Vulnerable to Incorrect Path Canonicalization During Archive Extraction, Leading to Arbitrary File Write
Also known as GHSA-94vh-gphv-8pm8RUSTSEC-2025-0168
- CVSS 4.0
CVSS:4.0/AV:N/AC:H/AT:N/PR:L/UI:N/VC:L/VI:H/VA:N/SC:H/SI:H/SA:H
Affected versions
Repository
| Affected commits | Fixed by commit |
|---|---|
| GIT github.com/zip-rs/zip2 ↗ | |
| 102e31113daa5e9553db14c985b1db3f519174a8 to before 6eab5f5cc64cf051f2712428745ca2fea088097c | 6eab5f5cc64cf051f2712428745ca2fea088097c |
| Not specified | a2e062f37066c3b12860a32eb1cb44856cfb7afe |
Also listed as affected (14)
| |
Description
zip is a zip library for rust which supports reading and writing of simple ZIP files. In the archive extraction routine of affected versions of the zip crate starting with version 1.3.0 and prior to version 2.3.0, symbolic links earlier in the archive are allowed to be used for later files in the archive without validation of the final canonicalized path, allowing maliciously crafted archives to overwrite arbitrary files in the file system when extracted. Users who extract untrusted archive files using the following high-level API method may be affected and critical files on the system may be overwritten with arbitrary file permissions, which can potentially lead to code execution. Version 2.3.0 fixes the issue.
References
- Webgist.github.com/eternal-flame-AD/bf71ef4f6828e741eb12ce7fd47b7b85 ↗
- Webgithub.com/zip-rs/zip2/releases/tag/v2.3.0 ↗
- Advisorygithub.com/CVEProject/cvelistV5/tree/main/cves/2025/29xxx/CVE-2025-29787.json ↗
- Advisorygithub.com/zip-rs/zip2/security/advisories/GHSA-94vh-gphv-8pm8 ↗
- Advisorynvd.nist.gov/vuln/detail/CVE-2025-29787 ↗
- Fixgithub.com/zip-rs/zip2/commit/a2e062f37066c3b12860a32eb1cb44856cfb7afe ↗