Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package zlib for openSUSE:Factory checked in at 2023-10-25 18:01:59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/zlib (Old) and /work/SRC/openSUSE:Factory/.zlib.new.24901 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "zlib" Wed Oct 25 18:01:59 2023 rev:90 rq:1119079 version:1.3 Changes: -------- --- /work/SRC/openSUSE:Factory/zlib/zlib.changes 2023-05-07 18:54:25.532072653 +0200 +++ /work/SRC/openSUSE:Factory/.zlib.new.24901/zlib.changes 2023-10-25 18:02:45.430294231 +0200 @@ -1,0 +2,35 @@ +Thu Oct 19 16:00:31 UTC 2023 - Danilo Spinella <o...@danyspin97.org> + +- Update to 1.3: + * Building using K&R (pre-ANSI) function definitions is no longer supported. + * Fixed a bug in deflateBound() for level 0 and memLevel 9. + * Fixed a bug when gzungetc() is used immediately after gzopen(). + * Fixed a bug when using gzflush() with a very small buffer. + * Fixed a crash when gzsetparams() is attempted for a transparent write. + * Fixed test/example.c to work with FORCE_STORED. + * Fixed minizip to allow it to open an empty zip file. + * Fixed reading disk number start on zip64 files in minizip. + * Fixed a logic error in minizip argument processing. +- Added patches: + * zlib-1.3-IBM-Z-hw-accelerated-deflate-s390x.patch +- Refreshed patches: + * zlib-1.2.12-add-optimized-slide_hash-for-power.patch + * zlib-1.2.12-add-vectorized-longest_match-for-power.patch + * zlib-1.2.12-adler32-vector-optimizations-for-power.patch + * zlib-1.2.13-optimized-s390.patch + * zlib-format.patch + * zlib-no-version-check.patch +- Removed patches: + * bsc1210593.patch + * zlib-1.2.13-fix-bug-deflateBound.patch + * zlib-1.2.12-s390-vectorize-crc32.patch + * zlib-1.2.13-IBM-Z-hw-accelerated-deflate-s390x.patch + * zlib-1.2.12-add-optimized-slide_hash-for-power.patch + * zlib-1.2.12-fix-invalid-memory-access-on-ppc-and-ppc64.patch + * zlib-1.2.12-add-vectorized-longest_match-for-power.patch + * zlib-1.2.12-adler32-vector-optimizations-for-power.patch +- Fix CVE-2023-45853, integer overflow and resultant heap-based buffer + overflow in zipOpenNewFileInZip4_6, bsc#1216378 + * CVE-2023-45853.patch + +------------------------------------------------------------------- Old: ---- bsc1210593.patch zlib-1.2.12-add-optimized-slide_hash-for-power.patch zlib-1.2.12-add-vectorized-longest_match-for-power.patch zlib-1.2.12-adler32-vector-optimizations-for-power.patch zlib-1.2.12-fix-invalid-memory-access-on-ppc-and-ppc64.patch zlib-1.2.12-s390-vectorize-crc32.patch zlib-1.2.13-IBM-Z-hw-accelerated-deflate-s390x.patch zlib-1.2.13-fix-bug-deflateBound.patch zlib-1.2.13.tar.gz zlib-1.2.13.tar.gz.asc New: ---- CVE-2023-45853.patch zlib-1.3-IBM-Z-hw-accelerated-deflate-s390x.patch zlib-1.3.tar.gz zlib-1.3.tar.gz.asc ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ zlib.spec ++++++ --- /var/tmp/diff_new_pack.Lk9RuR/_old 2023-10-25 18:02:46.426330998 +0200 +++ /var/tmp/diff_new_pack.Lk9RuR/_new 2023-10-25 18:02:46.426330998 +0200 @@ -17,7 +17,7 @@ Name: zlib -Version: 1.2.13 +Version: 1.3 Release: 0 Summary: Library implementing the DEFLATE compression algorithm License: Zlib @@ -37,25 +37,17 @@ Patch3: zlib-no-version-check.patch #PATCH-FIX-SUSE https://github.com/madler/zlib/pull/229 Patch4: minizip-dont-install-crypt-header.patch -# PATCH-FIX-UPSTREAM https://github.com/madler/zlib/commit/e554695638228b846d49657f31eeff0ca4680e8a -Patch5: zlib-1.2.13-fix-bug-deflateBound.patch #PATCH-FIX-SUSE https://github.com/madler/zlib/pull/410 -Patch6: zlib-1.2.13-IBM-Z-hw-accelerated-deflate-s390x.patch +Patch6: zlib-1.3-IBM-Z-hw-accelerated-deflate-s390x.patch # Patches taken from https://github.com/iii-i/zlib/releases/tag/crc32vx-v3 Patch7: zlib-1.2.5-minizip-fixuncrypt.patch Patch8: zlib-1.2.13-optimized-s390.patch # https://github.com/iii-i/zlib/commit/171d0ff3c9ed40da0ac14085ab16b766b1162069 Patch10: zlib-1.2.11-covscan-issues.patch Patch11: zlib-1.2.11-covscan-issues-rhel9.patch -Patch14: zlib-1.2.12-s390-vectorize-crc32.patch -# The following patches are taken from https://github.com/mscastanho/zlib/commits/power-optimizations-1.2.12 -Patch15: zlib-1.2.12-adler32-vector-optimizations-for-power.patch -Patch16: zlib-1.2.12-fix-invalid-memory-access-on-ppc-and-ppc64.patch -Patch17: zlib-1.2.12-add-optimized-slide_hash-for-power.patch -Patch18: zlib-1.2.12-add-vectorized-longest_match-for-power.patch -# PATCH-FIX-UPSTREAM danilo.spine...@suse.com bsc#1210593 bsc#1211005 -# Fix deflateBound() before deflateInit() -Patch19: bsc1210593.patch +# PATCh-FIX-SECURITY CVE-2023-45853.patch bsc#1216378 CVE-2023-45853 danilo.spine...@suse.com +# integer overflow and resultant heap-based buffer overflow in zipOpenNewFileInZip4_6 +Patch12: CVE-2023-45853.patch BuildRequires: autoconf BuildRequires: automake BuildRequires: libtool @@ -147,18 +139,12 @@ %patch2 -p1 %patch3 -p1 %patch4 -p1 -%patch5 -p1 %patch6 -p1 %patch7 -p1 %patch8 %patch10 -p1 %patch11 -p1 -%patch14 -p1 -%patch15 -p1 -%patch16 -p1 -%patch17 -p1 -%patch18 -p1 -%patch19 -p1 +%patch12 -p1 cp %{SOURCE4} . %build @@ -221,7 +207,7 @@ %files -n libz1 %license LICENSE -%{_libdir}/libz.so.1.2.* +%{_libdir}/libz.so.1.3 %{_libdir}/libz.so.1 %files devel ++++++ CVE-2023-45853.patch ++++++ >From 431e66398552effd82d5c0ea982a521821782ebd Mon Sep 17 00:00:00 2001 From: Hans Wennborg <h...@chromium.org> Date: Fri, 18 Aug 2023 11:05:33 +0200 Subject: [PATCH] minizip: Check length of comment, filename, and extra field, in zipOpenNewFileInZip4_64 These are stored in 16-bit fields in the zip file format. Passing longer values would generate an invalid file. Passing very long values could also cause the computation of zi->ci.size_centralheader to overflow, which would cause heap buffer overflow on subsequent writes to zi->ci.central_header. --- contrib/minizip/zip.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/contrib/minizip/zip.c b/contrib/minizip/zip.c index 3d3d4cadd..0446109b2 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) ++++++ zlib-1.2.13-optimized-s390.patch ++++++ --- /var/tmp/diff_new_pack.Lk9RuR/_old 2023-10-25 18:02:46.514334247 +0200 +++ /var/tmp/diff_new_pack.Lk9RuR/_new 2023-10-25 18:02:46.518334395 +0200 @@ -2,16 +2,12 @@ =================================================================== --- deflate.c.orig +++ deflate.c -@@ -1233,15 +1233,16 @@ local void lm_init (s) +@@ -1233,12 +1233,13 @@ local void lm_init (s) * string (strstart) and its distance is <= MAX_DIST, and prev_length >= 1 * OUT assertion: the match length is not greater than s->lookahead. */ --local uInt longest_match(s, cur_match) -+local uInt longest_match(s, pcur_match) - deflate_state *s; -- IPos cur_match; /* current match */ -+ IPos pcur_match; /* current match */ - { +-local uInt longest_match(deflate_state *s, IPos cur_match) { ++local uInt longest_match(deflate_state *s, IPos pcur_match) { + ptrdiff_t cur_match = pcur_match; /* extend to pointer width */ unsigned chain_length = s->max_chain_length;/* max hash chain length */ register Bytef *scan = s->window + s->strstart; /* current string */ ++++++ zlib-1.2.13-IBM-Z-hw-accelerated-deflate-s390x.patch -> zlib-1.3-IBM-Z-hw-accelerated-deflate-s390x.patch ++++++ ++++ 2120 lines (skipped) ++++ between /work/SRC/openSUSE:Factory/zlib/zlib-1.2.13-IBM-Z-hw-accelerated-deflate-s390x.patch ++++ and /work/SRC/openSUSE:Factory/.zlib.new.24901/zlib-1.3-IBM-Z-hw-accelerated-deflate-s390x.patch ++++++ zlib-1.2.13.tar.gz -> zlib-1.3.tar.gz ++++++ ++++ 10457 lines of diff (skipped) ++++++ zlib-format.patch ++++++ --- /var/tmp/diff_new_pack.Lk9RuR/_old 2023-10-25 18:02:46.862347093 +0200 +++ /var/tmp/diff_new_pack.Lk9RuR/_new 2023-10-25 18:02:46.866347241 +0200 @@ -9,8 +9,8 @@ is returned, and the error state is set to Z_STREAM_ERROR. */ --ZEXTERN int ZEXPORTVA gzprintf Z_ARG((gzFile file, const char *format, ...)); -+ZEXTERN int ZEXPORTVA gzprintf Z_ARG((gzFile file, const char *format, ...)) +-ZEXTERN int ZEXPORTVA gzprintf(gzFile file, const char *format, ...); ++ZEXTERN int ZEXPORTVA gzprintf(gzFile file, const char *format, ...) +#ifdef __GNUC__ + __attribute__((__format__(__printf__,2,3))) +#endif ++++++ zlib-no-version-check.patch ++++++ --- /var/tmp/diff_new_pack.Lk9RuR/_old 2023-10-25 18:02:46.878347684 +0200 +++ /var/tmp/diff_new_pack.Lk9RuR/_new 2023-10-25 18:02:46.882347831 +0200 @@ -1,9 +1,9 @@ -Index: zlib-1.2.12/infback.c +Index: zlib-1.3/infback.c =================================================================== ---- zlib-1.2.12.orig/infback.c -+++ zlib-1.2.12/infback.c -@@ -34,9 +34,6 @@ int stream_size; - { +--- zlib-1.3.orig/infback.c ++++ zlib-1.3/infback.c +@@ -27,9 +27,6 @@ int ZEXPORT inflateBackInit_(z_streamp s + int stream_size) { struct inflate_state FAR *state; - if (version == Z_NULL || version[0] != ZLIB_VERSION[0] || @@ -12,11 +12,11 @@ if (strm == Z_NULL || window == Z_NULL || windowBits < 8 || windowBits > 15) return Z_STREAM_ERROR; -Index: zlib-1.2.12/inflate.c +Index: zlib-1.3/inflate.c =================================================================== ---- zlib-1.2.12.orig/inflate.c -+++ zlib-1.2.12/inflate.c -@@ -202,9 +202,6 @@ int stream_size; +--- zlib-1.3.orig/inflate.c ++++ zlib-1.3/inflate.c +@@ -180,9 +180,6 @@ int ZEXPORT inflateInit2_(z_streamp strm int ret; struct inflate_state FAR *state; @@ -26,12 +26,12 @@ if (strm == Z_NULL) return Z_STREAM_ERROR; strm->msg = Z_NULL; /* in case we return an error */ if (strm->zalloc == (alloc_func)0) { -Index: zlib-1.2.12/deflate.c +Index: zlib-1.3/deflate.c =================================================================== ---- zlib-1.2.12.orig/deflate.c -+++ zlib-1.2.12/deflate.c -@@ -253,12 +253,7 @@ int ZEXPORT deflateInit2_(strm, level, m - { +--- zlib-1.3.orig/deflate.c ++++ zlib-1.3/deflate.c +@@ -384,12 +384,7 @@ int ZEXPORT deflateInit2_(z_streamp strm + const char *version, int stream_size) { deflate_state *s; int wrap = 1; - static const char my_version[] = ZLIB_VERSION;