CVE-2025-15649: PMQS IO::Uncompress::Unzip · Uncaught Exception
Affects PMQS IO::Uncompress::UnzipSource CVE Database V5
Not known to be exploited · CVSS 5.5 Medium : upgrade to 2.215 when convenient.
Data as of 30 Oct 2026, 11:52 UTC
- EPSS
- 0.1% chance of exploitation in 30 days – higher than 2% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
- Patch
- Available – fixed in 2.215
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:HExploitation evidence
Disclosed: evidence found.
CVE published 27 May 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponized: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 30 Oct 2026.
What to do
Upgrade IO::Uncompress::Unzip and IO-Compress to 2.215.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| PMQSIO::Uncompress::Unzip | Affected
| Fixed in
|
GitHubIO-Compresspkg:github/IO-CompressOther threats | Affected
| Fixed in
|
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
AI-suggested
If you cannot patch yet, applications should implement additional input validation or exception handling around calls to IO::Uncompress::Unzip->new() to catch and handle exceptions caused by malformed zip headers, preventing crashes.
Description
IO::Uncompress::Unzip versions before 2.215 for Perl propagate uncaught exception when parsing zip header with malformed DOS date. _dosToUnixTime() decodes the local-file-header last-modification date field and calls Time::Local::timelocal() without an eval guard. A header whose date field decodes to an out-of-range month, day, or hour causes timelocal() to die. The exception propagates out of IO::Uncompress::Unzip->new($file) where callers expect undef plus $UnzipError.