Bug 2449490 (CVE-2026-33056)

Summary: CVE-2026-33056 tar-rs: tar-rs: Arbitrary directory permission modification via crafted tar archive
Product: [Other] Security Response Reporter: OSIDB Bzimport <bzimport>
Component: vulnerabilityAssignee: Product Security DevOps Team <prodsec-dev>
Status: NEW --- QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedCC: anpicker, anthomas, bbrownin, bdettelb, bparees, brasmith, cochase, dbosanac, derez, doconnor, dranck, dschmidt, ebourniv, ehelms, erezende, ggainey, hasun, jcantril, jfula, jkoehler, jlanda, jowilson, jreimann, juwatts, kshier, lgallett, lphiri, mdessi, mhulan, mrizzi, nmoumoul, nyancey, ometelka, osousa, pcattana, pcreech, ptisnovs, rchan, rojacob, sbunciak, simaishi, smallamp, smcdonal, stcannon, syedriko, teagle, tmalecek, xdharmai, yguenane
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: ---
Doc Text:
A flaw was found in tar-rs, a Rust library for reading and writing tar archives. When unpacking a crafted tar archive, an attacker can exploit a symbolic link vulnerability. By including a symlink followed by a directory with the same name, the library incorrectly applies file permissions to the symlink's target. This allows an attacker to modify the permissions of arbitrary directories outside the intended extraction location.
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 2449671, 2449673, 2449674, 2449675, 2449676, 2449677, 2449678, 2449679, 2449680, 2449685, 2449687, 2449689, 2449692, 2449693, 2449695, 2450076, 2449669, 2449670, 2449672, 2449681, 2449682, 2449683, 2449684, 2449686, 2449688, 2449690, 2449691, 2449694    
Bug Blocks:    

Description OSIDB Bzimport 2026-03-20 08:02:32 UTC
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.