CVE-2026-33056

Name
CVE-2026-33056
Description
tar-rs is a tar archive reading/writing library for Rust. In versions 0.4.44 and below, when unpacking a tar archive, the tar crate's unpack_dir function uses fs::metadata() to check whether a path that already exists is a directory. Because fs::metadata() follows symbolic links, a crafted tarball containing a symlink entry followed by a directory entry with the same name causes the crate to treat the symlink target as a valid existing directory — and subsequently apply chmod to it. This allows an attacker to modify the permissions of arbitrary directories outside the extraction root. This issue has been fixed in version 0.4.45.
NVD Severity
unknown
Other trackers
Mailing lists
Exploits
Forges
GitHub (code, issues), Aports (code, issues)

References

Type URI
security-advisories@github.com https://github.com/alexcrichton/tar-rs/commit/17b1fd84e632071cb8eef9d3709bf347bd266446
security-advisories@github.com https://github.com/alexcrichton/tar-rs/security/advisories/GHSA-j4xf-2g29-59ph

Match rules

CPE URI Source package Min version Max version
cpe:2.3:a:tar_project:tar:*:*:*:*:*:rust:*:* tar >= None < 0.4.45

Vulnerable and fixed packages

Source package Branch Version Maintainer Status
rust edge-main 1.94.0-r1 team/rust <alpine@ptrcnull.me> fixed
rust 3.23-main 1.91.1-r1 team/rust <alpine@ptrcnull.me> fixed
rust 3.22-main 1.87.0-r1 team/rust <alpine@ptrcnull.me> fixed
rust 3.21-main 1.83.0-r1 team/rust <alpine@ptrcnull.me> fixed
rust 3.20-main 1.78.0-r1 team/rust <alpine@ptrcnull.me> fixed