CyberAlerts is shutting down on June 30th, 2025. Thank you for your support!

CVE-2025-29787: zip Vulnerable to Incorrect Path Canonicalization During Archive Extraction, Leading to Arbitrary File Write

7.3 CVSS

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.

Classification

CVE ID: CVE-2025-29787

CVSS Base Severity: HIGH

CVSS Base Score: 7.3

CVSS Vector: 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

Problem Types

CWE-22: Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal') CWE-61: UNIX Symbolic Link (Symlink) Following CWE-180: Incorrect Behavior Order: Validate Before Canonicalize

Affected Products

Vendor: zip-rs

Product: zip2

Exploit Prediction Scoring System (EPSS)

EPSS Score: 0.09% (probability of being exploited)

EPSS Percentile: 27.11% (scored less or equal to compared to others)

EPSS Date: 2025-04-15 (when was this score calculated)

References

https://nvd.nist.gov/vuln/detail/CVE-2025-29787
https://github.com/zip-rs/zip2/security/advisories/GHSA-94vh-gphv-8pm8
https://github.com/zip-rs/zip2/commit/a2e062f37066c3b12860a32eb1cb44856cfb7afe
https://gist.github.com/eternal-flame-AD/bf71ef4f6828e741eb12ce7fd47b7b85
https://github.com/zip-rs/zip2/releases/tag/v2.3.0

Timeline