Skip to content

Conversation

@mtrmac
Copy link
Contributor

@mtrmac mtrmac commented Oct 13, 2025

= an unbounded resource consumption when reading an untrusted archive.

Just a direct copy of golang/go@2612dcf , “Copyright 2009 The Go Authors.” Hopefully the copyright lines in individual Go lines are sufficient to satisfy the license — at least that seems consistent with previous practice in this repo.

Sparse files in tar archives contain only the non-zero components
of the file. There are several different encodings for sparse
files. When reading GNU tar pax 1.0 sparse files, archive/tar did
not set a limit on the size of the sparse region data. A malicious
archive containing a large number of sparse blocks could cause
archive/tar to read an unbounded amount of data from the archive
into memory.

Since a malicious input can be highly compressable, a small
compressed input could cause very large allocations.

Cap the size of the sparse block data to the same limit used
for PAX headers (1 MiB).

Thanks to Harshit Gupta (Mr HAX) (https://www.linkedin.com/in/iam-harshit-gupta/)
for reporting this issue.

Fixes CVE-2025-58183
For #75677
Fixes #75711

Change-Id: I70b907b584a7b8676df8a149a1db728ae681a770
Reviewed-on: https://go-internal-review.googlesource.com/c/go/+/2800
Reviewed-by: Roland Shoemaker <[email protected]>
Reviewed-by: Nicholas Husin <[email protected]>
Reviewed-on: https://go-internal-review.googlesource.com/c/go/+/2987
Reviewed-by: Damien Neil <[email protected]>
Reviewed-on: https://go-review.googlesource.com/c/go/+/709852
TryBot-Bypass: Michael Pratt <[email protected]>
Reviewed-by: Carlos Amedee <[email protected]>
Auto-Submit: Michael Pratt <[email protected]>

This is a port of upstream commit 2612dcfd3cb6dd73c76e14a24fe1a68e2708e4e3 ,
"Copyright 2009 The Go Authors."

Signed-off-by: Miloslav Trmač <[email protected]>
@vbatts vbatts merged commit e93e901 into vbatts:main Oct 14, 2025
6 checks passed
@mtrmac mtrmac deleted the backport branch October 14, 2025 18:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants