Description
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.
Published: 2026-05-27
Score: n/a
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

IO::Uncompress::Unzip versions prior to 2.220 contain a per-byte read loop in the fastForward method that can exhaust CPU resources when extracting entries from user-supplied ZIP archives. The flaw arises because the loop compares the digit count of the offset against the chunk size, causing the chunk size to shrink from 16 KiB to 1–19 bytes per iteration. This aggressive shrinking forces the module to perform many iterations proportional to the compressed size of an entry, potentially up to the non‑Zip64 4 GiB limit, leading to a denial‑of‑service condition. The weakness can be described as a resource exhaustion flaw (CWE‑407).

Affected Systems

Vendors affected include PMQS with the IO::Uncompress::Unzip module. All releases before version 2.220 are vulnerable; the fix was introduced in release 2.220.

Risk and Exploitability

The vulnerability has no CVSS score listed in the provided data, and the EPSS score is not available, so a precise quantification of exploitation likelihood is not possible from the data. It is not listed in the CISA KEV catalog. Attackers can trigger the CPU exhaustion by supplying a crafted ZIP file containing a targeted entry and invoking IO::Uncompress::Unzip->new($zip, Name => $target). The probable attack surface is any environment that unpacks or inspects user‑supplied ZIP archives, such as web applications or services that accept file uploads. The failure mode requires that the vulnerable module process the file, which can be exploited remotely if the upload mechanism is exposed.

Generated by OpenCVE AI on May 27, 2026 at 04:22 UTC.

Remediation

Vendor Solution

Upgrade to IO-Compress 2.220 or later.


OpenCVE Recommended Actions

  • Upgrade the IO-Compress module to version 2.220 or later.
  • Prevent untrusted ZIP data from being decompressed in a process with no resource limits; if possible, isolate the decompression step in a restricted environment or container with CPU quotas.
  • Consider introducing application‑level checks that reject ZIP entries exceeding a reasonable compressed size before invoking the module, thereby mitigating the risk if an upgrade is delayed.

Generated by OpenCVE AI on May 27, 2026 at 04:22 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 27 May 2026 10:30:00 +0000

Type Values Removed Values Added
First Time appeared Pmqs
Pmqs io::uncompress::unzip
Vendors & Products Pmqs
Pmqs io::uncompress::unzip

Wed, 27 May 2026 08:30:00 +0000

Type Values Removed Values Added
References

Wed, 27 May 2026 03:30:00 +0000

Type Values Removed Values Added
Description 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.
Title IO::Uncompress::Unzip versions before 2.220 for Perl allow CPU exhaustion via per-byte read loop in fastForward
Weaknesses CWE-407
References

Subscriptions

Pmqs Io::uncompress::unzip
cve-icon MITRE

Status: PUBLISHED

Assigner: CPANSec

Published:

Updated: 2026-05-27T07:24:56.426Z

Reserved: 2026-05-26T18:09:32.365Z

Link: CVE-2026-48959

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Deferred

Published: 2026-05-27T04:16:31.093

Modified: 2026-05-27T19:38:33.270

Link: CVE-2026-48959

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-05-27T10:07:59Z

Weaknesses