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

ptardiff - program that diffs an extracted archive against an unextracted one

DESCRIPTION

ptardiff is a small program that diffs an extracted archive
against an unextracted one, using the perl module Archive::Tar.

This effectively lets you view changes made to an archives contents.

Provide the progam with an ARCHIVE_FILE and it will look up all
the files with in the archive, scan the current working directory
for a file with the name and diff it against the contents of the
archive.

SYNOPSIS

ptardiff ARCHIVE_FILE
ptardiff -h

$ tar -xzf Acme-Buffy-1.3.tar.gz
$ vi Acme-Buffy-1.3/README
[...]
$ ptardiff Acme-Buffy-1.3.tar.gz > README.patch

OPTIONS

h   Prints this help message

SEE ALSO

tar(1), Archive::Tar.