Home

Description

Archive::Tar versions before 3.10 for Perl allow memory exhaustion via attacker controlled entry size field in tar header. _read_tar() reads each entry's payload with $handle->read($$data, $block), where $block is derived from the entry's 12-byte size field in the tar header with no upper bound on that value. A crafted header declaring a multi-gigabyte size causes Perl to allocate a scalar of that size.

PUBLISHED Reserved 2026-05-25 | Published 2026-05-26 | Updated 2026-05-28 | Assigner CPANSec

Problem types

CWE-789 Memory Allocation with Excessive Size Value

Product status

Default status
unaffected

Any version before 3.10
affected

Timeline

2026-05-25:Issue reported.
2026-05-25:Version 3.10 released.

References

www.openwall.com/lists/oss-security/2026/05/26/4

github.com/...f9af01426038e29d9578825a0cd3626946ab08c7.patch patch

metacpan.org/release/BINGOS/Archive-Tar-3.10/changes release-notes

cve.org (CVE-2026-9538)

nvd.nist.gov (CVE-2026-9538)

Download JSON