zip is a zip library for Rust that supports reading and writing simple ZIP files. From 7.2.0 until 9.0.0, ZipArchive::extract and ZipArchive::extract_unwrapped_root_dir use safe_prepare_path in src/read/zipfile.rs and simplified_components in src/path.rs to validate symbolic link targets with a lexical prefix comparison rather than resolving each intermediate link. An attacker who knows or can guess the absolute extraction destination can create a chain whose apparent target remains under the destination while an intermediate symlink resolves outside it, allowing attacker-controlled files to be created or overwritten with the extracting process's privileges. On Windows, discarded drive and UNC prefixes can permit a single-link escape when the process has SeCreateSymbolicLinkPrivilege, such as through administrator rights or Developer Mode. This regression is distinct from CVE-2025-29787. This issue is fixed in version 9.0.0.
{
"binaries": [
{
"binary_name": "librust-zip+bzip2-dev",
"binary_version": "0.5.3-2"
},
{
"binary_name": "librust-zip+default-dev",
"binary_version": "0.5.3-2"
},
{
"binary_name": "librust-zip+deflate-dev",
"binary_version": "0.5.3-2"
},
{
"binary_name": "librust-zip+deflate-miniz-dev",
"binary_version": "0.5.3-2"
},
{
"binary_name": "librust-zip+deflate-zlib-dev",
"binary_version": "0.5.3-2"
},
{
"binary_name": "librust-zip+flate2-dev",
"binary_version": "0.5.3-2"
},
{
"binary_name": "librust-zip+time-dev",
"binary_version": "0.5.3-2"
},
{
"binary_name": "librust-zip-dev",
"binary_version": "0.5.3-2"
}
]
}
{
"binaries": [
{
"binary_name": "librust-zip+bzip2-dev",
"binary_version": "0.5.13-1"
},
{
"binary_name": "librust-zip+default-dev",
"binary_version": "0.5.13-1"
},
{
"binary_name": "librust-zip+deflate-dev",
"binary_version": "0.5.13-1"
},
{
"binary_name": "librust-zip+deflate-miniz-dev",
"binary_version": "0.5.13-1"
},
{
"binary_name": "librust-zip+deflate-zlib-dev",
"binary_version": "0.5.13-1"
},
{
"binary_name": "librust-zip+flate2-dev",
"binary_version": "0.5.13-1"
},
{
"binary_name": "librust-zip+time-dev",
"binary_version": "0.5.13-1"
},
{
"binary_name": "librust-zip-dev",
"binary_version": "0.5.13-1"
}
]
}