Activity log
- Created suggestion
Archive::Tar versions before 3.08 for Perl extract hardlinks to attacker controlled paths outside the extraction directory
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.
References
Affected products
- <3.08
Matching in nixpkgs
pkgs.perlPackages.ArchiveTar
Manipulates TAR archives
pkgs.perl5Packages.ArchiveTar
Manipulates TAR archives
pkgs.perl538Packages.ArchiveTar
None
pkgs.perl540Packages.ArchiveTar
None
pkgs.haskellPackages.archive-tar
Common interface using the tar package
pkgs.perlPackages.ArchiveTarWrapper
API wrapper around the 'tar' utility
pkgs.perl5Packages.ArchiveTarWrapper
API wrapper around the 'tar' utility
pkgs.perl538Packages.ArchiveTarWrapper
None
pkgs.perl540Packages.ArchiveTarWrapper
None