Fix for CVE-2023-45853

This commit is contained in:
Lukas Javorsky 2023-10-24 16:22:19 +00:00 committed by root
parent 01c7bfb07f
commit cd0992470f
3 changed files with 49 additions and 1 deletions

1
.zlib.metadata Normal file
View File

@ -0,0 +1 @@
e1cb0d5c92da8e9a8c2635dfa249c341dfd00322 zlib-1.2.11.tar.xz

View File

@ -0,0 +1,39 @@
From 73331a6a0481067628f065ffe87bb1d8f787d10c Mon Sep 17 00:00:00 2001
From: Hans Wennborg <hans@chromium.org>
Date: Fri, 18 Aug 2023 11:05:33 +0200
Subject: [PATCH] Reject overflows of zip header fields in minizip.
This checks the lengths of the file name, extra field, and comment
that would be put in the zip headers, and rejects them if they are
too long. They are each limited to 65535 bytes in length by the zip
format. This also avoids possible buffer overflows if the provided
fields are too long.
---
contrib/minizip/zip.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/contrib/minizip/zip.c b/contrib/minizip/zip.c
index 3d3d4ca..0446109 100644
--- a/contrib/minizip/zip.c
+++ b/contrib/minizip/zip.c
@@ -1043,6 +1043,17 @@ extern int ZEXPORT zipOpenNewFileInZip4_64(zipFile file, const char* filename, c
return ZIP_PARAMERROR;
#endif
+ // The filename and comment length must fit in 16 bits.
+ if ((filename!=NULL) && (strlen(filename)>0xffff))
+ return ZIP_PARAMERROR;
+ if ((comment!=NULL) && (strlen(comment)>0xffff))
+ return ZIP_PARAMERROR;
+ // The extra field length must fit in 16 bits. If the member also requires
+ // a Zip64 extra block, that will also need to fit within that 16-bit
+ // length, but that will be checked for later.
+ if ((size_extrafield_local>0xffff) || (size_extrafield_global>0xffff))
+ return ZIP_PARAMERROR;
+
zi = (zip64_internal*)file;
if (zi->in_opened_file_inzip == 1)
--
2.41.0

View File

@ -2,7 +2,7 @@
Name: zlib Name: zlib
Version: 1.2.11 Version: 1.2.11
Release: 40%{?dist} Release: 41%{?dist}
Summary: Compression and decompression library Summary: Compression and decompression library
# /contrib/dotzlib/ have Boost license # /contrib/dotzlib/ have Boost license
License: zlib and Boost License: zlib and Boost
@ -64,6 +64,9 @@ Patch28: zlib-1.2.11-covscan-issues.patch
# Resolves: #2193044 # Resolves: #2193044
Patch29: zlib-1.2.11-IBM-Z-hw-accelrated-deflate-fix-crash-deflateBound.patch Patch29: zlib-1.2.11-IBM-Z-hw-accelrated-deflate-fix-crash-deflateBound.patch
# Upstream patch: https://github.com/madler/zlib/commit/73331a6a0481067628f065ffe87bb1d8f787d10c
Patch30: zlib-1.2.13-Reject-overflows-of-zip-header-fields-in-minizip.patch
BuildRequires: make BuildRequires: make
BuildRequires: automake, autoconf, libtool BuildRequires: automake, autoconf, libtool
@ -141,6 +144,7 @@ developing applications which use minizip.
%patch27 -p1 %patch27 -p1
%patch28 -p1 %patch28 -p1
%patch29 -p1 %patch29 -p1
%patch30 -p1
iconv -f iso-8859-2 -t utf-8 < ChangeLog > ChangeLog.tmp iconv -f iso-8859-2 -t utf-8 < ChangeLog > ChangeLog.tmp
@ -218,6 +222,10 @@ find $RPM_BUILD_ROOT -name '*.la' -delete
%changelog %changelog
* Tue Oct 24 2023 Lukas Javorsky <ljavorsk@redhat.com> - 1.2.11-40
- Applied upstream commit 73331a6a0481067628f065ffe87bb1d8f787d10c
- Fixes: CVE-2023-45853
* Thu May 04 2023 Lukas Javorsky <ljavorsk@redhat.com> - 1.2.11-40 * Thu May 04 2023 Lukas Javorsky <ljavorsk@redhat.com> - 1.2.11-40
- Fix the Crash in zlib deflateBound() function on s390x - Fix the Crash in zlib deflateBound() function on s390x
- Resolves: BZ#2193044 - Resolves: BZ#2193044