IO::Uncompress::Unzip versions before 2.220 for Perl allow CPU exhaustion via per-byte read loop in fastForward. fastForward() compares length $offset (the digit count of the offset, 1 to 19) against the chunk size $c instead of $offset itself, so $c shrinks from 16 KiB to 1-19 bytes per iteration. Extracting a named entry from an attacker supplied zip via IO::Uncompress::Unzip->new($zip, Name => $target) drives a per-byte read loop scaling with the entry's compressed size, up to the non-Zip64 4 GiB cap.
{
"binaries": [
{
"binary_name": "libperl5.26",
"binary_version": "5.26.1-6ubuntu0.7"
},
{
"binary_version": "5.26.1-6ubuntu0.7",
"binary_name": "perl"
},
{
"binary_name": "perl-base",
"binary_version": "5.26.1-6ubuntu0.7"
},
{
"binary_name": "perl-debug",
"binary_version": "5.26.1-6ubuntu0.7"
},
{
"binary_name": "perl-modules-5.26",
"binary_version": "5.26.1-6ubuntu0.7"
}
]
}{
"binaries": [
{
"binary_name": "libperl5.30",
"binary_version": "5.30.0-9ubuntu0.5"
},
{
"binary_version": "5.30.0-9ubuntu0.5",
"binary_name": "perl"
},
{
"binary_name": "perl-base",
"binary_version": "5.30.0-9ubuntu0.5"
},
{
"binary_version": "5.30.0-9ubuntu0.5",
"binary_name": "perl-debug"
},
{
"binary_version": "5.30.0-9ubuntu0.5",
"binary_name": "perl-modules-5.30"
}
]
}{
"binaries": [
{
"binary_name": "libperl5.34",
"binary_version": "5.34.0-3ubuntu1.5"
},
{
"binary_name": "perl",
"binary_version": "5.34.0-3ubuntu1.5"
},
{
"binary_version": "5.34.0-3ubuntu1.5",
"binary_name": "perl-base"
},
{
"binary_version": "5.34.0-3ubuntu1.5",
"binary_name": "perl-debug"
},
{
"binary_version": "5.34.0-3ubuntu1.5",
"binary_name": "perl-modules-5.34"
}
]
}{
"binaries": [
{
"binary_name": "libperl5.38t64",
"binary_version": "5.38.2-3.2ubuntu0.2"
},
{
"binary_version": "5.38.2-3.2ubuntu0.2",
"binary_name": "perl"
},
{
"binary_name": "perl-base",
"binary_version": "5.38.2-3.2ubuntu0.2"
},
{
"binary_name": "perl-debug",
"binary_version": "5.38.2-3.2ubuntu0.2"
},
{
"binary_name": "perl-modules-5.38",
"binary_version": "5.38.2-3.2ubuntu0.2"
}
]
}{
"binaries": [
{
"binary_name": "libperl5.40",
"binary_version": "5.40.1-6build1"
},
{
"binary_name": "perl",
"binary_version": "5.40.1-6build1"
},
{
"binary_name": "perl-base",
"binary_version": "5.40.1-6build1"
},
{
"binary_version": "5.40.1-6build1",
"binary_name": "perl-debug"
},
{
"binary_version": "5.40.1-6build1",
"binary_name": "perl-modules-5.40"
}
]
}{
"binaries": [
{
"binary_version": "5.40.1-7build1",
"binary_name": "libperl5.40"
},
{
"binary_name": "perl",
"binary_version": "5.40.1-7build1"
},
{
"binary_version": "5.40.1-7build1",
"binary_name": "perl-base"
},
{
"binary_name": "perl-debug",
"binary_version": "5.40.1-7build1"
},
{
"binary_version": "5.40.1-7build1",
"binary_name": "perl-modules-5.40"
}
]
}{
"binaries": [
{
"binary_name": "libcgi-fast-perl",
"binary_version": "5.18.2-2ubuntu1.7+esm5"
},
{
"binary_version": "5.18.2-2ubuntu1.7+esm5",
"binary_name": "libperl5.18"
},
{
"binary_version": "5.18.2-2ubuntu1.7+esm5",
"binary_name": "perl"
},
{
"binary_name": "perl-base",
"binary_version": "5.18.2-2ubuntu1.7+esm5"
},
{
"binary_name": "perl-debug",
"binary_version": "5.18.2-2ubuntu1.7+esm5"
},
{
"binary_version": "5.18.2-2ubuntu1.7+esm5",
"binary_name": "perl-modules"
}
]
}{
"binaries": [
{
"binary_name": "libperl5.22",
"binary_version": "5.22.1-9ubuntu0.9+esm2"
},
{
"binary_name": "perl",
"binary_version": "5.22.1-9ubuntu0.9+esm2"
},
{
"binary_version": "5.22.1-9ubuntu0.9+esm2",
"binary_name": "perl-base"
},
{
"binary_version": "5.22.1-9ubuntu0.9+esm2",
"binary_name": "perl-debug"
},
{
"binary_name": "perl-modules-5.22",
"binary_version": "5.22.1-9ubuntu0.9+esm2"
}
]
}