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.
References
| Link | Resource |
|---|---|
| https://github.com/alexcrichton/tar-rs/commit/17b1fd84e632071cb8eef9d3709bf347bd266446 | Patch |
| https://github.com/alexcrichton/tar-rs/security/advisories/GHSA-j4xf-2g29-59ph | Mitigation Vendor Advisory Exploit |
Configurations
History
No history.
Information
Published : 2026-03-20 08:16
Updated : 2026-03-24 16:17
NVD link : CVE-2026-33056
Mitre link : CVE-2026-33056
CVE.ORG link : CVE-2026-33056
JSON object : View
Products Affected
tar_project
- tar
CWE
CWE-61
UNIX Symbolic Link (Symlink) Following
