Every CVE Search/ Get API key

RUSTSEC-2026-0427

`sn-releases`: `extract_release_archive` writes archive entries without a path-traversal check (zip-slip)

8.8 High

SafeReleaseRepoActions::extract_release_archive builds each output path from the raw archive entry name and writes to it with no traversal check, so a malicious release archive can create directories and write files outside the destination directory, a "zip-slip" / path traversal (CWE-22 / CWE-23).

In src/lib.rs (extract_release_archive, zip branch):

let mut file = archive.by_index(i)?;
let out_path = dest_dir_path.join(file.name());   // file.name() is the raw entry name
if file.name().ends_with('/') {
    std::fs::create_dir_all(&out_path)?;          // no `..` check
} else {
    let mut outfile = std::fs::File::create(&out_path)?;   // writes outside dest
    std::io::copy(&mut file, &mut outfile)?;
}

The crate is unmaintained (latest release 0.3.1, 2024-10-22) and no fixed version is available.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
Required

What an attacker can affect

Confidentiality
High
Integrity
High
Availability
High

What each source reports

OSV Score used 8.8

`sn-releases`: `extract_release_archive` writes archive entries without a path-traversal check (zip-slip)

SafeReleaseRepoActions::extract_release_archive builds each output path from the raw archive entry name and writes to it with no traversal check, so a malicious release archive can create directories and write files outside the destination directory, a "zip-slip" / path traversal (CWE-22 / CWE-23).

In src/lib.rs (extract_release_archive, zip branch):

let mut file = archive.by_index(i)?;
let out_path = dest_dir_path.join(file.name());   // file.name() is the raw entry name
if file.name().ends_with('/') {
    std::fs::create_dir_all(&out_path)?;          // no `..` check
} else {
    let mut outfile = std::fs::File::create(&out_path)?;   // writes outside dest
    std::io::copy(&mut file, &mut outfile)?;
}

The crate is unmaintained (latest release 0.3.1, 2024-10-22) and no fixed version is available.

Record
RUSTSEC-2026-0427
CVSS 3.1
8.8 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Updated
2026-11-02

Affected packages

Affected packages
PackageAffectedFixed
sn-releases
crates.io
0.0.0-0 and later None known

History

History
RecordedChangedSources
first indexedOSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

RUSTSEC-2026-0427 is a high vulnerability (CVSS 8.8) in sn-releases, published October 29, 2026. No source lists public exploit code. No source names a fixed version.

References

MoveEnter Open