CVE-2025-15649: CWE-248 Uncaught Exception in PMQS IO::Uncompress::Unzip
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.
AI Analysis
Technical Summary
The vulnerability in IO::Uncompress::Unzip arises from improper exception handling in the _dosToUnixTime() function, which decodes the last-modification date field of a zip local-file-header. When this date is malformed and results in out-of-range values for month, day, or hour, the call to Time::Local::timelocal() throws an exception that is not caught within the module. This exception escapes the IO::Uncompress::Unzip->new() method, disrupting normal error handling and potentially causing the calling application to crash or behave unexpectedly. The issue affects versions prior to 2.215 of the module.
Potential Impact
The primary impact is a denial of service condition where an application using IO::Uncompress::Unzip may crash or terminate unexpectedly when processing a specially crafted zip file with a malformed DOS date in its header. There is no indication of confidentiality or integrity impact. The CVSS score of 5.5 reflects a medium severity with local attack vector, low complexity, requiring low privileges, no user interaction, and impacting availability only.
Mitigation Recommendations
Patch status is not yet confirmed — no official fix or patch links are currently available. Users should monitor the vendor or CPAN security advisories for updates. Until a fix is released, 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.
CVE-2025-15649: CWE-248 Uncaught Exception in PMQS IO::Uncompress::Unzip
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.
CVSS v3.1
Score 5.5medium
Affected software
Weaknesses
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The vulnerability in IO::Uncompress::Unzip arises from improper exception handling in the _dosToUnixTime() function, which decodes the last-modification date field of a zip local-file-header. When this date is malformed and results in out-of-range values for month, day, or hour, the call to Time::Local::timelocal() throws an exception that is not caught within the module. This exception escapes the IO::Uncompress::Unzip->new() method, disrupting normal error handling and potentially causing the calling application to crash or behave unexpectedly. The issue affects versions prior to 2.215 of the module.
Potential Impact
The primary impact is a denial of service condition where an application using IO::Uncompress::Unzip may crash or terminate unexpectedly when processing a specially crafted zip file with a malformed DOS date in its header. There is no indication of confidentiality or integrity impact. The CVSS score of 5.5 reflects a medium severity with local attack vector, low complexity, requiring low privileges, no user interaction, and impacting availability only.
Mitigation Recommendations
Patch status is not yet confirmed — no official fix or patch links are currently available. Users should monitor the vendor or CPAN security advisories for updates. Until a fix is released, 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.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- CPANSec
- Date Reserved
- 2026-05-26T18:17:10.655Z
- Cvss Version
- null
- State
- PUBLISHED
- Remediation Level
- null
Threat ID: 6a16660ce29bf47b50903576
Added to database: 05/27/2026, 03:33:32 UTC
Last enriched: 06/03/2026, 20:41:03 UTC
Last updated: 07/31/2026, 19:22:53 UTC
Views: 48
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.