Archive::Tar versions before 3.08 for Perl extract symlinks with attacker controlled targets outside the extraction directory.
_make_special_file() passes the tar headers linkname to symlink() without validating it against absolute paths or .. segments. The secure-extract mode check that guards regular file extraction does not cover the symlink target.
A subsequent open through the extracted name reads or writes the attacker chosen path.
The product attempts to access a file based on the filename, but it does not properly prevent that filename from identifying a link or shortcut that resolves to an unintended resource.
| Name | Vendor | Start Version | End Version |
|---|---|---|---|
| Archive::tar | Archive::tar_project | * | 3.08 (excluding) |
| Perl | Ubuntu | esm-infra-legacy/trusty | * |
| Perl | Ubuntu | esm-infra-legacy/xenial | * |
| Perl | Ubuntu | esm-infra/bionic | * |
| Perl | Ubuntu | esm-infra/focal | * |
| Perl | Ubuntu | jammy | * |
| Perl | Ubuntu | noble | * |
| Perl | Ubuntu | questing | * |
| Perl | Ubuntu | resolute | * |