Home

Description

Archive::Tar versions before 3.08 for Perl extract hardlinks to attacker controlled paths outside the extraction directory. _make_special_file() passes the tar header's linkname to link() without validating it against absolute paths or .. segments, creating a hardlink that shares the victim file's inode. A subsequent write through the extracted name modifies the victim file, and the post-extraction chmod, chown, and utime block in _extract_file() (guarded only against symlinks via -l) applies the tar header's mode, owner, and timestamps to the shared inode during extraction alone.

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

Problem types

CWE-59 Improper Link Resolution Before File Access ('Link Following')

CWE-732 Incorrect Permission Assignment for Critical Resource

Product status

Default status
unaffected

Any version before 3.08
affected

Timeline

2026-04-12:Issue reported.
2026-05-10:Version 3.06 released, disabling hardlink extraction by default.
2026-05-22:Version 3.08 released.

References

github.com/...17c873492a05eddc0de18c1485e0b2cccd5a9158.patch patch

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

www.cve.org/CVERecord?id=CVE-2026-42496 related

cve.org (CVE-2026-42497)

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

Download JSON