RUSTSEC-2026-0425

Mở trang đầy đủ

CVSS 7.5 HIGH Lộ dữ liệu

`nix-nar`: `Decoder::unpack` writes archive entries outside the destination directory (path traversal)

Công bố
Cập nhật
Lần đầu thấy
Nguồn
OSV.dev

Mô tả

Decoder::unpack does not safely contain the paths it extracts, so a malicious NAR
archive can create files outside the destination directory — a path traversal
(CWE-22).

In src/dec.rs (Decoder::unpack):

  • A symlink entry's target is written without checking where it points
    (src/dec.rs:153), so the archive can create a symlink that escapes the
    destination directory.
  • The out-of-destination containment check compares path strings only and does
    not account for symlinks created earlier in the same unpack
    (src/dec.rs:176-181), before reaching the write sinks
    (std::fs::create_dir at src/dec.rs:201 and OpenOptions::open at
    src/dec.rs:218).
  • The parser also accepts entry names containing / (src/parser.rs:138-147).

Combined, a malicious archive can include a symlink a pointing at an external
directory and then an entry named a/b, causing b to be written to
<external>/b, outside the destination. This can create new files anywhere the
process can write (it cannot overwrite existing files), which is escalatable to code
execution by planting files in attacker-chosen locations.

Điểm và phân loại

CVSS
7.5 HIGH v3.1
Nguồn điểm
OSV.dev
Mức độ (theo nguồn)
HIGH
EPSS
—
CWE
—

Vector CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N

Ảnh hưởng

Package Bản bị ảnh hưởng Bản đã sửa
rust nix-nar < 0.6.0 0.6.0

Vì sao bị lọc

  • CVSS 7.5 < 8.0 và không thuộc CISA KEV

Loại tác động

Lộ dữ liệu
từ khoá "path traversal"

Dữ liệu riêng của nguồn

OSV.dev · ID
RUSTSEC-2026-0425

Tham khảo