Medium severity · published Mar 20, 2026
CVE-2026-33056
tar-rs: unpack_in can chmod arbitrary directories by following symlinks
6.5
CVSS
0.4%
EPSS
No
On KEV
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.
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N
Attack vector
Network
Complexity
Low
Privileges
None
User interaction
Required
Confidentiality
None
Integrity
High
Availability
None
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)0.4% · higher than 32% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
TA
tar-rs · alexcrichton
< 0.4.45 · source: vendor
TA
Tar · Tar Project
before 0.4.45 · source: NVD
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2026-33056
CVE.org
https://www.cve.org/CVERecord?id=CVE-2026-33056
Patch
https://github.com/alexcrichton/tar-rs/commit/17b1fd84e632071cb8eef9d3709bf347bd266446
Exploit
https://github.com/alexcrichton/tar-rs/security/advisories/GHSA-j4xf-2g29-59ph
More from tar-rs
8.1
CVE-2026-33055
tar-rs incorrectly ignores PAX size headers if header size is nonzero
