Allow some wrongly created files to be decompressed

Resolves: RHEL-86231
This commit is contained in:
Jakub Martisko 2025-04-08 13:00:08 +02:00
parent ca31be5952
commit 18a82a130f
2 changed files with 27 additions and 1 deletions

View File

@ -0,0 +1,19 @@
From: Roy Tam
Subject: Handle Microsoft ZIP64 files by ignoring invalid "Total number of disks" field
Origin: https://sourceforge.net/p/infozip/bugs/42/
Bug: https://sourceforge.net/p/infozip/bugs/42/
Bug-Debian: https://bugs.debian.org/1064000
Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/unzip/+bug/2051952
X-Debian-version: 6.0-29
--- a/process.c
+++ b/process.c
@@ -1281,7 +1281,7 @@
fprintf(stdout,"\nnumber of disks (ECR) %u, (ECLOC64) %lu\n",
G.ecrec.number_this_disk, ecloc64_total_disks); fflush(stdout);
#endif
- if ((G.ecrec.number_this_disk != 0xFFFF) &&
+ if ((G.ecrec.number_this_disk != 0xFFFF) && ecloc64_total_disks &&
(G.ecrec.number_this_disk != ecloc64_total_disks - 1)) {
/* Note: For some unknown reason, the developers at PKWARE decided to
store the "zip64 total disks" value as a counter starting from 1,

View File

@ -7,7 +7,7 @@
Summary: A utility for unpacking zip files
Name: unzip
Version: 6.0
Release: 47%{?dist}
Release: 48%{?dist}
License: BSD
Group: Applications/Archiving
Source: http://downloads.sourceforge.net/infozip/unzip60.tar.gz
@ -78,6 +78,8 @@ Patch33: unzip-zipbomb-part6.patch
Patch34: unzip-zipbomb-switch.patch
Patch35: unzip-6.0-fix-warning-messages-on-big-files.patch
#https://sources.debian.org/src/unzip/6.0-29/debian/patches/29-handle-windows-zip64-files.patch/
Patch36: unzip-6.0-RHEL-86228.patch
URL: http://www.info-zip.org/UnZip.html
BuildRequires: bzip2-devel
@ -132,6 +134,7 @@ a zip archive.
%patch33 -p1
%patch34 -p1
%patch35 -p1
%patch36 -p1
%build
# IZ_HAVE_UXUIDGID is needed for right functionality of unzip -X
@ -152,6 +155,10 @@ make -f unix/Makefile prefix=$RPM_BUILD_ROOT%{_prefix} MANDIR=$RPM_BUILD_ROOT/%{
%{_mandir}/*/*
%changelog
* Mon Apr 07 2025 Jakub Martisko <jamartis@redhat.com> - 6.0-48
- Allow decompression of some wrongly compressed files
Resolves: RHEL-86231
* Wed Jul 03 2024 Jakub Martisko <jamartis@redhat.com> - 6.0-47
- Fix: Unzip Fails on Large Zip Files
- Use the patch from Debian dealing with this