CVE-2025-62518
astral-tokio-tar Vulnerable to PAX Header Desynchronization
astral-tokio-tar is a tar archive reading/writing library for async Rust. Versions of astral-tokio-tar prior to 0.5.6 contain a boundary parsing vulnerability that allows attackers to smuggle additional archive entries by exploiting inconsistent PAX/ustar header handling. When processing archives with PAX-extended headers containing size overrides, the parser incorrectly advances stream position based on ustar header size (often zero) instead of the PAX-specified size, causing it to interpret file content as legitimate tar headers. This issue has been patched in version 0.5.6. There are no workarounds.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- Required
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
8.1
astral-tokio-tar Vulnerable to PAX Header Desynchronization
astral-tokio-tar is a tar archive reading/writing library for async Rust. Versions of astral-tokio-tar prior to 0.5.6 contain a boundary parsing vulnerability that allows attackers to smuggle additional archive entries by exploiting inconsistent PAX/ustar header handling. When processing archives with PAX-extended headers containing size overrides, the parser incorrectly advances stream position based on ustar header size (often zero) instead of the PAX-specified size, causing it to interpret file content as legitimate tar headers. This issue has been patched in version 0.5.6. There are no workarounds.
- Record
CVE-2025-62518- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N - Weakness
- CWE-843
- Updated
- 2026-11-02
EUVDEUVD-2025-35176
8.1
astral-tokio-tar is a tar archive reading/writing library for async Rust. Versions of astral-tokio-tar prior to 0.5.6 contain a boundary parsing vulnerability that allows attackers to smuggle additional archive entries by exploiting inconsistent PAX/ustar header handling. When processing archives with PAX-extended headers containing size overrides, the parser incorrectly advances stream position based on ustar header size (often zero) instead of the PAX-specified size, causing it to interpret file content as legitimate tar headers. This issue has been patched in version 0.5.6. There are no workarounds.
- Record
EUVD-2025-35176- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-j5gw-2vrg-8fgx
8.1
astral-tokio-tar Vulnerable to PAX Header Desynchronization
Summary
Versions of astral-tokio-tar prior to 0.5.6 contain a boundary parsing vulnerability that allows attackers to smuggle additional archive entries by exploiting inconsistent PAX/ustar header handling. When processing archives with PAX-extended headers containing size overrides, the parser incorrectly advances stream position based on ustar header size (often zero) instead of the PAX-specified size, causing it to interpret file content as legitimate tar headers.
This vulnerability was disclosed to multiple Rust tar parsers, all derived from the original async-tar fork of tar-rs.
Details
Vulnerability Description
The vulnerability stems from inconsistent handling of PAX extended headers versus ustar headers when determining file data boundaries. Specifically:
- PAX header correctly specifies the file size (e.g.,
size=1048576) - ustar header incorrectly specifies zero size (
size=000000000000) - tokio-tar advances the stream position based on the ustar size (0 bytes)
- Inner content is then interpreted as legitimate outer archive entries
Attack Mechanism
When a TAR file contains:
- An outer entry with PAX
size=Nbut ustarsize=0 - File data that begins with valid TAR header structures
- The parser treats inner content as additional outer entries
This creates a header/data desynchronization where the parser's position becomes misaligned with actual file boundaries.
Root Cause
// Vulnerable: Uses ustar size instead of PAX override
let file_size = header.size(); // Returns 0 from ustar field
let next_pos = current_pos + 512 + pad_to_512(file_size); // Advances 0 bytes
// Fixed: Apply PAX overrides before position calculation
let mut file_size = header.size();
if let Some(pax_size) = pending_pax.get("size") {
file_size = pax_size.parse().unwrap();
}
let next_pos = current_pos + 512 + pad_to_512(file_size); // Correct advance
Impact
The impact of this vulnerability depends on where astral-tokio-tar is used, and whether it is used to extract untrusted tar archives. If used to extract untrusted inputs, it may result in unexpected attacker-controlled access to the filesystem, in turn potential resulting in arbitrary code execution or credential exfiltration.
See GHSA-w476-p2h3-79g9 for how this vulnerability affects uv, astral-tokio-tar's primary downstream user. Observe that unlike this advisory, uv's advisory is considered low severity due to overlap with intentional existing capabilities in source distributions.
Workarounds
Users are advised to upgrade to version 0.5.6 or newer to address this advisory.
There is no workaround other than upgrading.
Timeline
| Date | Event | | --- | --- | | Aug 21, 2025 | Vulnerability discovered by Edera Security Team | | Aug 21, 2025 | Initial analysis and PoC confirmed | | Aug 22, 2025 | Maintainers notified (privately) | | Aug 25, 2025 | Private patch and test suite shared | | Oct 7, 2025 | Text freeze for GHSA | | Oct 21, 2025 | Coordinated public disclosure and patched releases |
Credits
- Discovered by: Steven Noonan (Edera) and Alex Zenla (Edera)
- Coordinated disclosure: Ann Wallace (Edera)
- Record
GHSA-j5gw-2vrg-8fgx- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N - Weakness
- CWE-843
- Updated
- 2026-11-02
NVD
8.1
astral-tokio-tar is a tar archive reading/writing library for async Rust. Versions of astral-tokio-tar prior to 0.5.6 contain a boundary parsing vulnerability that allows attackers to smuggle additional archive entries by exploiting inconsistent PAX/ustar header handling. When processing archives with PAX-extended headers containing size overrides, the parser incorrectly advances stream position based on ustar header size (often zero) instead of the PAX-specified size, causing it to interpret file content as legitimate tar headers. This issue has been patched in version 0.5.6. There are no workarounds.
- Record
CVE-2025-62518- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N - Weakness
- CWE-843
- Updated
- 2026-11-02
OSV
8.1
astral-tokio-tar Vulnerable to PAX Header Desynchronization
astral-tokio-tar is a tar archive reading/writing library for async Rust. Versions of astral-tokio-tar prior to 0.5.6 contain a boundary parsing vulnerability that allows attackers to smuggle additional archive entries by exploiting inconsistent PAX/ustar header handling. When processing archives with PAX-extended headers containing size overrides, the parser incorrectly advances stream position based on ustar header size (often zero) instead of the PAX-specified size, causing it to interpret file content as legitimate tar headers. This issue has been patched in version 0.5.6. There are no workarounds.
- Record
CVE-2025-62518- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N - Weakness
- CWE-843
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2025-62518
8.1
astral-tokio-tar is a tar archive reading/writing library for async Rust. Versions of astral-tokio-tar prior to 0.5.6 contain a boundary parsing vulnerability that allows attackers to smuggle additional archive entries by exploiting inconsistent PAX/ustar header handling. When processing archives with PAX-extended headers containing size overrides, the parser incorrectly advances stream position based on ustar header size (often zero) instead of the PAX-specified size, causing it to interpret file content as legitimate tar headers. This issue has been patched in version 0.5.6. There are no workarounds.
- Record
DEBIAN-CVE-2025-62518- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N - Updated
- 2026-11-02
Show 8 moreShow less
OSVGHSA-j5gw-2vrg-8fgx
8.1
astral-tokio-tar Vulnerable to PAX Header Desynchronization
Summary
Versions of astral-tokio-tar prior to 0.5.6 contain a boundary parsing vulnerability that allows attackers to smuggle additional archive entries by exploiting inconsistent PAX/ustar header handling. When processing archives with PAX-extended headers containing size overrides, the parser incorrectly advances stream position based on ustar header size (often zero) instead of the PAX-specified size, causing it to interpret file content as legitimate tar headers.
This vulnerability was disclosed to multiple Rust tar parsers, all derived from the original async-tar fork of tar-rs.
Details
Vulnerability Description
The vulnerability stems from inconsistent handling of PAX extended headers versus ustar headers when determining file data boundaries. Specifically:
- PAX header correctly specifies the file size (e.g.,
size=1048576) - ustar header incorrectly specifies zero size (
size=000000000000) - tokio-tar advances the stream position based on the ustar size (0 bytes)
- Inner content is then interpreted as legitimate outer archive entries
Attack Mechanism
When a TAR file contains:
- An outer entry with PAX
size=Nbut ustarsize=0 - File data that begins with valid TAR header structures
- The parser treats inner content as additional outer entries
This creates a header/data desynchronization where the parser's position becomes misaligned with actual file boundaries.
Root Cause
// Vulnerable: Uses ustar size instead of PAX override
let file_size = header.size(); // Returns 0 from ustar field
let next_pos = current_pos + 512 + pad_to_512(file_size); // Advances 0 bytes
// Fixed: Apply PAX overrides before position calculation
let mut file_size = header.size();
if let Some(pax_size) = pending_pax.get("size") {
file_size = pax_size.parse().unwrap();
}
let next_pos = current_pos + 512 + pad_to_512(file_size); // Correct advance
Impact
The impact of this vulnerability depends on where astral-tokio-tar is used, and whether it is used to extract untrusted tar archives. If used to extract untrusted inputs, it may result in unexpected attacker-controlled access to the filesystem, in turn potential resulting in arbitrary code execution or credential exfiltration.
See GHSA-w476-p2h3-79g9 for how this vulnerability affects uv, astral-tokio-tar's primary downstream user. Observe that unlike this advisory, uv's advisory is considered low severity due to overlap with intentional existing capabilities in source distributions.
Workarounds
Users are advised to upgrade to version 0.5.6 or newer to address this advisory.
There is no workaround other than upgrading.
Timeline
| Date | Event | | --- | --- | | Aug 21, 2025 | Vulnerability discovered by Edera Security Team | | Aug 21, 2025 | Initial analysis and PoC confirmed | | Aug 22, 2025 | Maintainers notified (privately) | | Aug 25, 2025 | Private patch and test suite shared | | Oct 7, 2025 | Text freeze for GHSA | | Oct 21, 2025 | Coordinated public disclosure and patched releases |
Credits
- Discovered by: Steven Noonan (Edera) and Alex Zenla (Edera)
- Coordinated disclosure: Ann Wallace (Edera)
- Record
GHSA-j5gw-2vrg-8fgx- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N - Weakness
- CWE-843
- Updated
- 2026-11-02
OSVRUSTSEC-2025-0110
8.1
astral-tokio-tar Vulnerable to PAX Header Desynchronization
Versions of astral-tokio-tar prior to 0.5.6 contain a boundary parsing vulnerability that allows attackers to smuggle additional archive entries by exploiting inconsistent PAX/ustar header handling. When processing archives with PAX-extended headers containing size overrides, the parser incorrectly advances stream position based on ustar header size (often zero) instead of the PAX-specified size, causing it to interpret file content as legitimate tar headers.
This vulnerability was disclosed to multiple Rust tar parsers, all derived from the original async-tar fork of tar-rs.
For additional information see Edera's blog post.
- Record
RUSTSEC-2025-0110- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N - Updated
- 2026-11-02
OSVUBUNTU-CVE-2025-62518
8.1
astral-tokio-tar is a tar archive reading/writing library for async Rust. Versions of astral-tokio-tar prior to 0.5.6 contain a boundary parsing vulnerability that allows attackers to smuggle additional archive entries by exploiting inconsistent PAX/ustar header handling. When processing archives with PAX-extended headers containing size overrides, the parser incorrectly advances stream position based on ustar header size (often zero) instead of the PAX-specified size, causing it to interpret file content as legitimate tar headers. This issue has been patched in version 0.5.6. There are no workarounds.
- Record
UBUNTU-CVE-2025-62518- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N - Updated
- 2026-11-02
OSVopenSUSE-SU-2025:15658-1 No score
python311-uv-0.9.5-1.1 on GA media
These are all security issues fixed in the python311-uv-0.9.5-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2025:15658-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:12355-1 No score
zed-1.24.2-1.1 on GA media
These are all security issues fixed in the zed-1.24.2-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:12355-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:20026-1 No score
Security update for python-uv
This update for python-uv fixes the following issues:
- CVE-2025-62518: astral-tokio-tar: Fixed boundary parsing issue allowing attackers to smuggle additional archive entries (bsc#1252399)
- CVE-2025-58160: tracing-subscriber: Fixed log pollution (bsc#1249011)
- Record
openSUSE-SU-2026:20026-1- Updated
- 2026-11-02
OSVRUSTSEC-2025-0111 No score
`tokio-tar` parses PAX extended headers incorrectly, allows file smuggling
The archive reader incorrectly handles PAX extended headers, when the ustar
header incorrectly specifies zero size (size=000000000000), while a PAX
header specifies a non-zero size, tokio-tar::Archive is going to read the
file content as tar entry header.
This can be used by a tar file to present different content to tokio-tar
compared to other tar reader implementations.
This bug is also known as CVE-2025-62518 and GHSA-j5gw-2vrg-8fgx, as those
crates share a common ancestor codebase.
The tokio-tar crate is archived and no longer maintained, we recommend you
switch to an alternative crate such as:
- Record
RUSTSEC-2025-0111- Updated
- 2026-11-02
OSVSUSE-SU-2026:20077-1 No score
Security update for python-uv
This update for python-uv fixes the following issues:
- CVE-2025-62518: astral-tokio-tar: Fixed boundary parsing issue allowing attackers to smuggle additional archive entries (bsc#1252399)
- CVE-2025-58160: tracing-subscriber: Fixed log pollution (bsc#1249011)
- Record
SUSE-SU-2026:20077-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
astral-tokio-tarcrates.io |
through 0.5.5 | 0.5.6 |
tokio-tarcrates.io |
through 0.3.1 | None known |
rust-astral-tokio-tarDebian:13 |
All versions, plus listed versions 0.5.2-20.5.5-10.5.6-10.5.6-20.6.0-10.6.1-10.6.2-10.6.4-1 |
None known |
rust-astral-tokio-tarDebian:14 |
before 0.5.6-1, plus listed versions 0.5.2-20.5.5-1 |
0.5.6-1 |
astral-tokio-tarcrates.io |
before 0.5.6 | 0.5.6 |
astral-tokio-tarcrates.io |
0.0.0-0 up to 0.5.6 | 0.5.6 |
tokio-tarcrates.io |
0.0.0-0 and later | None known |
python-uvSUSE:Linux Enterprise Server 16.0 From an advisory covering 2 CVEs |
before 0.7.18-160000.3.1 | 0.7.18-160000.3.1 |
python-uvSUSE:Linux Enterprise Server for SAP applications 16.0 From an advisory covering 2 CVEs |
before 0.7.18-160000.3.1 | 0.7.18-160000.3.1 |
rust-astral-tokio-tarUbuntu:25.10 |
All versions, plus listed versions 0.5.1-10.5.2-2 |
None known |
Show 4 moreShow less
| Package | Affected | Fixed |
|---|---|---|
rust-astral-tokio-tarUbuntu:26.04:LTS |
All versions, plus listed versions 0.5.2-20.5.5-10.5.6-10.5.6-2 |
None known |
python-uvopenSUSE:Tumbleweed |
before 0.9.5-1.1 | 0.9.5-1.1 |
zedopenSUSE:Tumbleweed From an advisory covering 11 CVEs |
before 1.24.2-1.1 | 1.24.2-1.1 |
python-uvopenSUSE:Leap 16.0 From an advisory covering 2 CVEs |
before 0.7.18-160000.3.1 | 0.7.18-160000.3.1 |
Public exploits
Links only. Every CVE stores no exploit code.
| Source | Link | Date |
|---|---|---|
| PoC in GitHub | edera-dev/cve-tarmageddon | 2025-08-21 |
| PoC in GitHub | AirineiAndrei/Tarmageddon-CVE-2025-62518- | 2026-01-19 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, exploits, facts | ||
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV, PoC in GitHub |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2025-62518 is a high vulnerability (CVSS 8.1) in Astral-sh Tokio-tar, published October 21, 2025. Public exploit code exists. EPSS puts the chance of exploitation in the next 30 days at 0.70%, the 53rd percentile. Fixed in astral-tokio-tar 0.5.6.
References
github.com/astral-sh/tokio-tar/security/advisories/GHSA-j5gw-2vrg-8fgx
github.com/astral-sh/uv/security/advisories/GHSA-w476-p2h3-79g9
github.com/astral-sh/tokio-tar/commit/22b3f884adb7a2adf1d3a8d03469533f5cbc8318
edera.dev/stories/tarmageddon
github.com/edera-dev/cve-tarmageddon
rustsec.org/advisories/RUSTSEC-2025-0110.html
Show 25 moreShow less
rustsec.org/advisories/RUSTSEC-2025-0111.html
github.com/advisories/GHSA-j5gw-2vrg-8fgx
github.com/CVEProject/cvelistV5/tree/main/cves/2025/62xxx/CVE-2025-62518.json
nvd.nist.gov/vuln/detail/CVE-2025-62518
security-tracker.debian.org/tracker/CVE-2025-62518
github.com/astral-sh/tokio-tar
crates.io/crates/astral-tokio-tar
crates.io/crates/tokio-tar
suse.com/support/update/announcement/2026/suse-su-202620077-1
bugzilla.suse.com/1249011
bugzilla.suse.com/1252399
suse.com/security/cve/CVE-2025-58160
suse.com/security/cve/CVE-2025-62518
ubuntu.com/security/CVE-2025-62518
cve.org/CVERecord?id=CVE-2025-62518
suse.com/security/cve/CVE-2024-39719
suse.com/security/cve/CVE-2024-39720
suse.com/security/cve/CVE-2024-39722
suse.com/security/cve/CVE-2025-4574
suse.com/security/cve/CVE-2026-25541
suse.com/security/cve/CVE-2026-27204
suse.com/security/cve/CVE-2026-34941
suse.com/security/cve/CVE-2026-34942
suse.com/security/cve/CVE-2026-53600
suse.com/security/cve/CVE-2026-93600