Security Advisories (1)
CVE-2026-9538 (2026-05-26)

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.

NAME

ptar - a tar-like program written in perl

DESCRIPTION

ptar is a small, tar look-alike program that uses the perl module Archive::Tar to extract, create and list tar archives.

SYNOPSIS

ptar -c [-v] [-z] [-C] [-f ARCHIVE_FILE | -] FILE FILE ...
ptar -c [-v] [-z] [-C] [-T index | -] [-f ARCHIVE_FILE | -]
ptar -x [-v] [-z] [-f ARCHIVE_FILE | -]
ptar -t [-z] [-f ARCHIVE_FILE | -]
ptar -h

OPTIONS

c   Create ARCHIVE_FILE or STDOUT (-) from FILE
x   Extract from ARCHIVE_FILE or STDIN (-)
t   List the contents of ARCHIVE_FILE or STDIN (-)
f   Name of the ARCHIVE_FILE to use. Default is './default.tar'
z   Read/Write zlib compressed ARCHIVE_FILE (not always available)
v   Print filenames as they are added or extracted from ARCHIVE_FILE
h   Prints this help message
C   CPAN mode - drop 022 from permissions
T   get names to create from file

SEE ALSO

tar(1), Archive::Tar.