_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.
No advisories yet.
Solution
Upgrade to IO-Compress 2.215 or later.
Workaround
No workaround given by the vendor.
Fri, 29 May 2026 16:30:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
cvssV3_1
|
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.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. | |
| Title | IO::Uncompress::Unzip versions before 2.215 for Perl propagate uncaught exception when parsing zip header with malformed DOS date | |
| Weaknesses | CWE-248 | |
| References |
|
Projects
Sign in to view the affected projects.
Status: PUBLISHED
Assigner: CPANSec
Published:
Updated: 2026-05-29T15:49:21.186Z
Reserved: 2026-05-26T18:17:10.655Z
Link: CVE-2025-15649
Updated: 2026-05-27T07:24:54.753Z
Status : Deferred
Published: 2026-05-27T04:16:23.873
Modified: 2026-05-29T16:16:21.990
Link: CVE-2025-15649
No data.
OpenCVE Enrichment
Updated: 2026-05-29T18:45:05Z