CVE-2026-48961
IO::Compress versions from 2.207 before 2.220 for Perl ship a zipdetails CLI tool that crashes with undefined subroutine on Info-ZIP Unix Extra Field with 8-byte UID or GID
IO::Compress versions from 2.207 before 2.220 for Perl ship a zipdetails CLI tool that crashes with undefined subroutine on Info-ZIP Unix Extra Field with 8-byte UID or GID.
When decode_ux() in bin/zipdetails handles an Info-ZIP Unix Extra Field (tag 0x7875) with UID Size or GID Size set to 8, causing zipdetails to decode an 8-byte UID or GID value, it dispatches through decodeLitteEndian(), which calls a misnamed helper unpackValueQ. The actual function defined in the same file is unpackValue_Q (with underscore); the call raises 'Undefined subroutine &main::unpackValueQ' and the script exits with status 255.
Library callers of IO::Compress and IO::Uncompress are not affected; the defect is in the bundled CLI tool.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- Low
- Integrity
- Low
- Availability
- Low
Exploit likelihood
What each source reports
CVE List Score used
7.3
IO::Compress versions from 2.207 before 2.220 for Perl ship a zipdetails CLI tool that crashes with undefined subroutine on Info-ZIP Unix Extra Field with 8-byte UID or GID
IO::Compress versions from 2.207 before 2.220 for Perl ship a zipdetails CLI tool that crashes with undefined subroutine on Info-ZIP Unix Extra Field with 8-byte UID or GID.
When decode_ux() in bin/zipdetails handles an Info-ZIP Unix Extra Field (tag 0x7875) with UID Size or GID Size set to 8, causing zipdetails to decode an 8-byte UID or GID value, it dispatches through decodeLitteEndian(), which calls a misnamed helper unpackValueQ. The actual function defined in the same file is unpackValue_Q (with underscore); the call raises 'Undefined subroutine &main::unpackValueQ' and the script exits with status 255.
Library callers of IO::Compress and IO::Uncompress are not affected; the defect is in the bundled CLI tool.
- Record
CVE-2026-48961- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L - Weakness
- CWE-755
- Updated
- 2026-11-02
EUVDEUVD-2026-32044
7.3
IO::Compress versions from 2.207 before 2.220 for Perl ship a zipdetails CLI tool that crashes with undefined subroutine on Info-ZIP Unix Extra Field with 8-byte UID or GID.
When decode_ux() in bin/zipdetails handles an Info-ZIP Unix Extra Field (tag 0x7875) with UID Size or GID Size set to 8, causing zipdetails to decode an 8-byte UID or GID value, it dispatches through decodeLitteEndian(), which calls a misnamed helper unpackValueQ. The actual function defined in the same file is unpackValue_Q (with underscore); the call raises 'Undefined subroutine &main::unpackValueQ' and the script exits with status 255.
Library callers of IO::Compress and IO::Uncompress are not affected; the defect is in the bundled CLI tool.
- Record
EUVD-2026-32044- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-hjrw-gmwj-xc9c
7.3
IO::Compress versions from 2.207 before 2.220 for Perl ship a zipdetails CLI tool that crashes...
IO::Compress versions from 2.207 before 2.220 for Perl ship a zipdetails CLI tool that crashes with undefined subroutine on Info-ZIP Unix Extra Field with 8-byte UID or GID.
When decode_ux() in bin/zipdetails handles an Info-ZIP Unix Extra Field (tag 0x7875) with UID Size or GID Size set to 8, causing zipdetails to decode an 8-byte UID or GID value, it dispatches through decodeLitteEndian(), which calls a misnamed helper unpackValueQ. The actual function defined in the same file is unpackValue_Q (with underscore); the call raises 'Undefined subroutine &main::unpackValueQ' and the script exits with status 255.
Library callers of IO::Compress and IO::Uncompress are not affected; the defect is in the bundled CLI tool.
- Record
GHSA-hjrw-gmwj-xc9c- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L - Weakness
- CWE-755
- Updated
- 2026-11-02
NVD
7.3
IO::Compress versions from 2.207 before 2.220 for Perl ship a zipdetails CLI tool that crashes with undefined subroutine on Info-ZIP Unix Extra Field with 8-byte UID or GID.
When decode_ux() in bin/zipdetails handles an Info-ZIP Unix Extra Field (tag 0x7875) with UID Size or GID Size set to 8, causing zipdetails to decode an 8-byte UID or GID value, it dispatches through decodeLitteEndian(), which calls a misnamed helper unpackValueQ. The actual function defined in the same file is unpackValue_Q (with underscore); the call raises 'Undefined subroutine &main::unpackValueQ' and the script exits with status 255.
Library callers of IO::Compress and IO::Uncompress are not affected; the defect is in the bundled CLI tool.
- Record
CVE-2026-48961- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L - Weakness
- CWE-755
- Updated
- 2026-11-02
OSVALPINE-CVE-2026-48961
7.3
IO::Compress versions from 2.207 before 2.220 for Perl ship a zipdetails CLI tool that crashes with undefined subroutine on Info-ZIP Unix Extra Field with 8-byte UID or GID.
When decode_ux() in bin/zipdetails handles an Info-ZIP Unix Extra Field (tag 0x7875) with UID Size or GID Size set to 8, causing zipdetails to decode an 8-byte UID or GID value, it dispatches through decodeLitteEndian(), which calls a misnamed helper unpackValueQ. The actual function defined in the same file is unpackValue_Q (with underscore); the call raises 'Undefined subroutine &main::unpackValueQ' and the script exits with status 255.
Library callers of IO::Compress and IO::Uncompress are not affected; the defect is in the bundled CLI tool.
- Record
ALPINE-CVE-2026-48961- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L - Updated
- 2026-11-03
OSVBELL-CVE-2026-48961
7.3
- Record
BELL-CVE-2026-48961- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L - Updated
- 2026-11-02
Show 9 moreShow less
OSV
7.3
IO::Compress versions from 2.207 before 2.220 for Perl ship a zipdetails CLI tool that crashes with undefined subroutine on Info-ZIP Unix Extra Field with 8-byte UID or GID
IO::Compress versions from 2.207 before 2.220 for Perl ship a zipdetails CLI tool that crashes with undefined subroutine on Info-ZIP Unix Extra Field with 8-byte UID or GID.
When decode_ux() in bin/zipdetails handles an Info-ZIP Unix Extra Field (tag 0x7875) with UID Size or GID Size set to 8, causing zipdetails to decode an 8-byte UID or GID value, it dispatches through decodeLitteEndian(), which calls a misnamed helper unpackValueQ. The actual function defined in the same file is unpackValue_Q (with underscore); the call raises 'Undefined subroutine &main::unpackValueQ' and the script exits with status 255.
Library callers of IO::Compress and IO::Uncompress are not affected; the defect is in the bundled CLI tool.
- Record
CVE-2026-48961- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L - Weakness
- CWE-755
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2026-48961
7.3
IO::Compress versions from 2.207 before 2.220 for Perl ship a zipdetails CLI tool that crashes with undefined subroutine on Info-ZIP Unix Extra Field with 8-byte UID or GID. When decode_ux() in bin/zipdetails handles an Info-ZIP Unix Extra Field (tag 0x7875) with UID Size or GID Size set to 8, causing zipdetails to decode an 8-byte UID or GID value, it dispatches through decodeLitteEndian(), which calls a misnamed helper unpackValueQ. The actual function defined in the same file is unpackValue_Q (with underscore); the call raises 'Undefined subroutine &main::unpackValueQ' and the script exits with status 255. Library callers of IO::Compress and IO::Uncompress are not affected; the defect is in the bundled CLI tool.
- Record
DEBIAN-CVE-2026-48961- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L - Updated
- 2026-11-02
OSVUBUNTU-CVE-2026-48961
7.3
IO::Compress versions from 2.207 before 2.220 for Perl ship a zipdetails CLI tool that crashes with undefined subroutine on Info-ZIP Unix Extra Field with 8-byte UID or GID. When decode_ux() in bin/zipdetails handles an Info-ZIP Unix Extra Field (tag 0x7875) with UID Size or GID Size set to 8, causing zipdetails to decode an 8-byte UID or GID value, it dispatches through decodeLitteEndian(), which calls a misnamed helper unpackValueQ. The actual function defined in the same file is unpackValue_Q (with underscore); the call raises 'Undefined subroutine &main::unpackValueQ' and the script exits with status 255. Library callers of IO::Compress and IO::Uncompress are not affected; the defect is in the bundled CLI tool.
- Record
UBUNTU-CVE-2026-48961- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L - Updated
- 2026-11-02
OSVMGASA-2026-0158 No score
Updated perl-IO-Compress package fixes security vulnerabilities
The updated package fixes security vulnerabilities: IO::Uncompress::Unzip versions before 2.215 for Perl propagate uncaught exception when parsing zip header with malformed DOS date. (CVE-2025-15649) IO::Uncompress::Unzip versions before 2.220 for Perl allow CPU exhaustion via per-byte read loop in fastForward. (CVE-2026-48959) IO::Compress versions before 2.220 for Perl can execute arbitrary code in File::GlobMapper via an attacker-controlled output glob. (CVE-2026-48962)
- Record
MGASA-2026-0158- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:10969-1 No score
perl-IO-Compress-2.220.0-2.1 on GA media
These are all security issues fixed in the perl-IO-Compress-2.220.0-2.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:10969-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:21177-1 No score
Security update for perl-IO-Compress
This update for perl-IO-Compress fixes the following issues:
Changes in perl-IO-Compress:
-
updated to 2.220.0 (2.220) see /usr/share/doc/packages/perl-IO-Compress/Changes
2.220 16 May 2026 * remove use of eval in globmapper. #73 CVE-2026-48962 bsc#1266382 * Update zipdetails to version 4.006. CVE-2026-48961 bsc#1266381 * Fix typo in fastForward #72 * Fix issue with "rawdeflate` option in AnyInflate. #71
-
updated to 2.219.0 (2.219) see /usr/share/doc/packages/perl-IO-Compress/Changes
2.219 9 March 2026 * Fix a few typos * Squash repeated semicolons * Make dependent version checking consistent amd update module to version 2.219. Fixes #70 2.218 8 March 2026 * Refresh zipdetails to version 4.005 Sourced from https://github.com/pmqs/zipdetails * version 2.218 * Add SECURITY.md, Fixes #69 * fix spelling typo * Refresh Changes file * Update release date in README * Refresh zipdetails from https://github.com/pmqs/zipdetails 2.217 1 February 2026 * Update release date in README * Refresh zipdetails from https://github.com/pmqs/zipdetails * Delete GZIP environment variable before running interop tests Fixes #24 * Update version to 2.217 2.216 31 January 2026 * Update version to 2.216 * IO::Compress @2.215: t/006zip.t fails due to missing test files #67 2.215 31 January 2026 * Fix version check in 000prereq.t * Update Changes for 2.215 * Update version to 2.215 & change copyright year to 2026 * Add tests for handling zero and invalid datetime values in unzip functionality. Fix for #65 * Enhance _dosToUnixTime to handle zero and invalid datetime values; add tests for edge cases. Fixes #65
-
updated to 2.214.0 (2.214) see /usr/share/doc/packages/perl-IO-Compress/Changes
2.214 24 October 2025 * version 2.214 * IO::Compress::Gzip accidentally modifies the
$EXPORT_TAGS{all}->@*of other modules Fixes #64 * Fix indentation in Windows workflow YAML * Fix indentation in windows.yml exclude section * Merge pull request #63 from masiuchi/fix/ci-errors * Exclude Perl 5.42 with "strawberry" distribution from GitHub Actions * Update FreeBSD image to 14.3 in Cirrus CI * Add dependabot.yml file to police workflow files * Add perl 5.42 to workflow files * Fix for https://github.com/pmqs/Compress-Raw-Zlib/issues/34 * #59 fix typos in streamzip
- Record
openSUSE-SU-2026:21177-1- Updated
- 2026-11-02
OSVROOT-OS-DEBIAN-11-CVE-2026-48961 No score
CVE-2026-48961 in perl - Patched by Root
Root has patched CVE-2026-48961 in the perl package for Root:Debian:11. Multiple fixed versions available.
- Record
ROOT-OS-DEBIAN-11-CVE-2026-48961- Updated
- 2026-11-02
OSVROOT-OS-DEBIAN-12-CVE-2026-48961 No score
CVE-2026-48961 in perl - Patched by Root
Root has patched CVE-2026-48961 in the perl package for Root:Debian:12. Multiple fixed versions available.
- Record
ROOT-OS-DEBIAN-12-CVE-2026-48961- Updated
- 2026-11-02
OSVROOT-OS-DEBIAN-13-CVE-2026-48961 No score
CVE-2026-48961 in perl - Patched by Root
Root has patched CVE-2026-48961 in the perl package for Root:Debian:13. Multiple fixed versions available.
- Record
ROOT-OS-DEBIAN-13-CVE-2026-48961- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
perlAlpine:v3.24 |
before 5.42.3-r0 | 5.42.3-r0 |
perlAlpaquita:25 |
5.40.2-r0 up to 5.40.4-r1 | 5.40.4-r1 |
perlAlpaquita:stream |
5.36.0-r0 up to 5.42.2-r1 | 5.42.2-r1 |
perlBellSoft Hardened Containers:25 |
5.40.2-r0 up to 5.40.4-r1 | 5.40.4-r1 |
perlBellSoft Hardened Containers:stream |
5.36.0-r0 up to 5.42.2-r1 | 5.42.2-r1 |
libio-compress-perlDebian:13 |
before 2.213-1+deb13u1, plus listed versions 2.213-1 |
2.213-1+deb13u1 |
libio-compress-perlDebian:14 |
before 2.220-1, plus listed versions 2.213-12.214-12.217-12.219-12.219-2 |
2.220-1 |
perlDebian:13 |
before 5.40.1-6+deb13u1, plus listed versions 5.40.1-6 |
5.40.1-6+deb13u1 |
perlDebian:14 |
before 5.40.1-8, plus listed versions 5.40.1-65.40.1-7 |
5.40.1-8 |
perl-IO-CompressMageia:9 From an advisory covering 4 CVEs |
before 2.204.0-1.1.mga9 | 2.204.0-1.1.mga9 |
Show 20 moreShow less
| Package | Affected | Fixed |
|---|---|---|
perlRoot:Debian:11 |
before 5.32.1-4+deb11u5.aikido.6 | 5.32.1-4+deb11u5.aikido.65.32.1-4+deb11u5.aikido.75.32.1-4+deb11u5.aikido.85.32.1-4+deb11u5.aikido.95.32.1-4+deb11u5.aikido.105.32.1-4+deb11u5.aikido.115.32.1-4+deb11u5.aikido.125.32.1-4+deb11u5.root.io.5 |
rootio-perlRoot:Debian:11 |
before 5.32.1-4+deb11u5.aikido.6 | 5.32.1-4+deb11u5.aikido.65.32.1-4+deb11u5.aikido.75.32.1-4+deb11u5.aikido.85.32.1-4+deb11u5.aikido.95.32.1-4+deb11u5.aikido.105.32.1-4+deb11u5.aikido.115.32.1-4+deb11u5.aikido.125.32.1-4+deb11u5.root.io.5 |
perlUbuntu:Pro:14.04:LTS |
All versions, plus listed versions 5.14.2-21build15.18.1-45.18.1-4build15.18.1-55.18.2-2 Show 12 moreShow less5.18.2-2ubuntu15.18.2-2ubuntu1.15.18.2-2ubuntu1.35.18.2-2ubuntu1.45.18.2-2ubuntu1.65.18.2-2ubuntu1.75.18.2-2ubuntu1.7+esm35.18.2-2ubuntu1.7+esm45.18.2-2ubuntu1.7+esm55.18.2-2ubuntu1.7+esm75.18.2-2ubuntu1.7+esm85.18.2-2ubuntu1.7+esm9 |
None known |
perlUbuntu:Pro:16.04:LTS |
All versions, plus listed versions 5.20.2-65.22.1-35.22.1-45.22.1-55.22.1-7 Show 11 moreShow less5.22.1-85.22.1-95.22.1-9ubuntu0.25.22.1-9ubuntu0.35.22.1-9ubuntu0.55.22.1-9ubuntu0.65.22.1-9ubuntu0.95.22.1-9ubuntu0.9+esm15.22.1-9ubuntu0.9+esm25.22.1-9ubuntu0.9+esm35.22.1-9ubuntu0.9+esm4 |
None known |
libio-compress-perlUbuntu:16.04:LTS |
All versions, plus listed versions 2.068-22.069-1 |
None known |
perlUbuntu:Pro:18.04:LTS |
All versions, plus listed versions 5.26.0-8ubuntu15.26.1-2ubuntu15.26.1-35.26.1-45.26.1-4build1 Show 11 moreShow less5.26.1-55.26.1-65.26.1-6ubuntu0.15.26.1-6ubuntu0.25.26.1-6ubuntu0.35.26.1-6ubuntu0.55.26.1-6ubuntu0.65.26.1-6ubuntu0.75.26.1-6ubuntu0.7+esm25.26.1-6ubuntu0.7+esm35.26.1-6ubuntu0.7+esm4 |
None known |
libio-compress-perlUbuntu:18.04:LTS |
All versions, plus listed versions 2.074-1 |
None known |
perlUbuntu:Pro:20.04:LTS |
All versions, plus listed versions 5.28.1-6build15.30.0-75.30.0-95.30.0-9build15.30.0-9ubuntu0.2 Show 6 moreShow less5.30.0-9ubuntu0.35.30.0-9ubuntu0.45.30.0-9ubuntu0.55.30.0-9ubuntu0.5+esm25.30.0-9ubuntu0.5+esm35.30.0-9ubuntu0.5+esm4 |
None known |
libio-compress-perlUbuntu:20.04:LTS |
All versions, plus listed versions 2.087-12.089-12.090-12.093-1 |
None known |
libio-compress-perlUbuntu:22.04:LTS |
All versions, plus listed versions 2.101-12.102-1 |
None known |
perlUbuntu:22.04:LTS |
All versions, plus listed versions 5.32.1-3ubuntu35.34.0-3ubuntu15.34.0-3ubuntu1.15.34.0-3ubuntu1.25.34.0-3ubuntu1.3 Show 5 moreShow less5.34.0-3ubuntu1.45.34.0-3ubuntu1.55.34.0-3ubuntu1.75.34.0-3ubuntu1.85.34.0-3ubuntu1.9 |
None known |
libio-compress-perlUbuntu:24.04:LTS |
All versions, plus listed versions 2.206-12.207-1 |
None known |
libio-compress-perlUbuntu:25.10 |
All versions, plus listed versions 2.213-1 |
None known |
perlUbuntu:25.10 |
All versions, plus listed versions 5.40.1-25.40.1-35.40.1-55.40.1-65.40.1-6build15.40.1-6ubuntu0.1 |
None known |
libio-compress-perlUbuntu:26.10 |
All versions, plus listed versions 2.217-12.220-12.221-12.223-1 |
None known |
perlUbuntu:26.10 |
All versions, plus listed versions 5.40.1-7build15.40.1-85.40.1-8ubuntu15.42.3-1 |
None known |
libio-compress-perlUbuntu:26.04:LTS |
All versions, plus listed versions 2.213-12.214-12.217-1 |
None known |
perlUbuntu:26.04:LTS |
All versions, plus listed versions 5.40.1-6build15.40.1-7build15.40.1-7ubuntu0.15.40.1-7ubuntu0.25.40.1-7ubuntu0.3 |
None known |
perl-IO-CompressopenSUSE:Tumbleweed |
before 2.220.0-2.1 | 2.220.0-2.1 |
perl-IO-CompressopenSUSE:Leap 16.0 From an advisory covering 2 CVEs |
before 2.220.0-bp160.1.1 | 2.220.0-bp160.1.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected | ||
| affected, aliases, facts, references | OSV | |
| affected | ||
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-48961 is a high vulnerability (CVSS 7.3) in Pmqs Io::compress, published May 27, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.26%, the 18th percentile. Fixed in perl 5.42.3-r0.
References
github.com/pmqs/IO-Compress/commit/33c89d03d6e746ed2ead4f2f6570d47864c61bc7.patch
metacpan.org/release/PMQS/IO-Compress-2.220/changes
openwall.com/lists/oss-security/2026/05/27/3
nvd.nist.gov/vuln/detail/CVE-2026-48961
github.com/advisories/GHSA-hjrw-gmwj-xc9c
security.alpinelinux.org/vuln/CVE-2026-48961
Show 17 moreShow less
docs.bell-sw.com/security/cves/CVE-2026-48961
cpan.org/modules
github.com/CVEProject/cvelistV5/tree/main/cves/2026/48xxx/CVE-2026-48961.json
github.com/pmqs/IO-Compress
security-tracker.debian.org/tracker/CVE-2026-48961
advisories.mageia.org/MGASA-2026-0158.html
bugs.mageia.org/show_bug.cgi?id=35593
openwall.com/lists/oss-security/2026/05/27/1
openwall.com/lists/oss-security/2026/05/27/2
openwall.com/lists/oss-security/2026/05/27/4
ubuntu.com/security/CVE-2026-48961
cve.org/CVERecord?id=CVE-2026-48961
lists.security.metacpan.org/cve-announce/msg/40434383
suse.com/security/cve/CVE-2026-48961
bugzilla.suse.com/1266381
bugzilla.suse.com/1266382
suse.com/security/cve/CVE-2026-48962