Skip to main content

tar-rs EUVDEUVD-2026-55682

| CVE-2026-70622 HIGH
Improper Link Resolution Before File Access (CWE-59)
2026-08-10 VulnCheck GHSA-c2qp-v5vm-7vxf
7.1
CVSS 4.0 · Vendor: VulnCheck
Share

Severity by source

Vendor (VulnCheck) PRIMARY
7.1 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
vuln.today AI
7.7 HIGH

Network vector retained as attacker supplies directory remotely; S:C because exploitation escapes intended source root to read arbitrary filesystem files.

3.1 AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Red Hat
6.5 MEDIUM
qualitative

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
X

Lifecycle Timeline

2
Analysis Generated
Aug 10, 2026 - 18:31 vuln.today
CVE Published
Aug 10, 2026 - 17:35 cve.org
HIGH 7.1

DescriptionCVE.org

tar-rs versions 0.4.11 through 0.4.46 contain a symlink escape vulnerability in the Builder::append_dir_all() function that allows attackers to read files outside the intended source root directory by planting symlinks in an attacker-controlled directory. When a privileged process archives an untrusted directory, the function follows symlinks without verifying that resolved targets remain within the source root, causing out-of-bounds files to be included in the archive as regular files and disclosed to the attacker.

AnalysisAI

Symlink escape in tar-rs versions 0.4.11 through 0.4.46 exposes arbitrary host filesystem files when a privileged process archives an attacker-controlled directory using the Builder::append_dir_all() function. The function resolves symbolic links during recursive directory traversal without verifying that resolved target paths remain within the specified source root, causing out-of-bounds files to be silently captured into the archive as regular file entries and disclosed to the attacker. A publicly available proof-of-concept exists; the CVE is not listed in CISA KEV, but low attack complexity combined with high confidentiality impact makes this a meaningful risk for affected Rust-based archiving pipelines.

Technical ContextAI

tar-rs is a Rust crate for reading and writing tar archives, attributed here under the composefs project (CPE: cpe:2.3:a:composefs:tar-rs:*:*:*:*:*:*:*:*). The vulnerable function, Builder::append_dir_all(), performs recursive directory traversal to append all contents to a tar archive. The root cause is CWE-59 (Improper Link Resolution Before File Access - 'Link Following'): during traversal, the function resolves symbolic links encountered in the directory tree without confirming that the resolved absolute path remains inside the caller-supplied source root. On Unix/Linux filesystems, symlinks are filesystem-level pointers to arbitrary paths; following them without bounds-checking during archiving is functionally equivalent to a path traversal attack. The result is that the archive silently includes the contents of files from outside the intended directory scope, presented as regular file entries with no indication that a symlink was followed. This class of symlink-escape vulnerability in archiving libraries is well-documented and has previously appeared in Go, Python, and Java archive implementations.

RemediationAI

No vendor-released patch version is identified at time of analysis; the fix version is not stated in any available reference. The VulnCheck advisory at https://www.vulncheck.com/advisories/tar-rs-symlink-escape-via-append-dir-all and the tar-rs release history on crates.io should be monitored for an updated patched release. Until a patch is available, the primary compensating control is to avoid calling Builder::append_dir_all() on any directory whose symlinks are not fully trusted: pre-archiving validation should traverse the source directory, resolve each symlink's target, and reject or skip any entry whose canonical path falls outside the source root - this adds I/O overhead proportional to directory size but eliminates the disclosure vector entirely. For services that must archive untrusted input, running the archiving process inside a container or chroot with a restricted filesystem view limits the sensitivity of any files that could be captured even if a symlink is followed. Applying Linux capabilities restrictions (dropping CAP_DAC_READ_SEARCH) or seccomp profiles to the archiving process further reduces the blast radius by bounding the attacker's achievable file reads to what the process's effective UID can normally access.

Vendor StatusVendor

Share

EUVD-2026-55682 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy