Hello community,

here is the log from the commit of package unzip for openSUSE:Factory checked 
in at 2017-02-19 00:59:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/unzip (Old)
 and      /work/SRC/openSUSE:Factory/.unzip.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "unzip"

Changes:
--------
--- /work/SRC/openSUSE:Factory/unzip/unzip-rcc.changes  2016-10-14 
09:27:21.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.unzip.new/unzip-rcc.changes     2017-02-19 
00:59:27.420854455 +0100
@@ -2 +2,11 @@
-Wed Oct 12 07:24:12 UTC 2016 - josef.moell...@suse.com
+Wed Feb 15 08:31:05 UTC 2017 - josef.moell...@suse.com
+
+- Fixed two potential buffer overflows.
+  The patches were extracted from
+  http://antinode.info/ftp/info-zip/unzip60/zipinfo.c and
+  http://antinode.info/ftp/info-zip/unzip60/list.c
+  (bsc#1013992, bsc#1013993, CVE-2016-9844, CVE-2014-9913,
+  CVE-2016-9844.patch, CVE-2014-9913.patch)
+
+-------------------------------------------------------------------
+Wed Oct 12 07:23:03 UTC 2016 - josef.moell...@suse.com
--- /work/SRC/openSUSE:Factory/unzip/unzip.changes      2016-10-14 
09:27:21.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.unzip.new/unzip.changes 2017-02-19 
00:59:27.468847715 +0100
@@ -1,0 +2,10 @@
+Wed Feb 15 08:31:05 UTC 2017 - josef.moell...@suse.com
+
+- Fixed two potential buffer overflows.
+  The patches were extracted from
+  http://antinode.info/ftp/info-zip/unzip60/zipinfo.c and
+  http://antinode.info/ftp/info-zip/unzip60/list.c
+  (bsc#1013992, bsc#1013993, CVE-2016-9844, CVE-2014-9913,
+  CVE-2016-9844.patch, CVE-2014-9913.patch)
+
+-------------------------------------------------------------------

New:
----
  CVE-2014-9913.patch
  CVE-2016-9844.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ unzip-rcc.spec ++++++
--- /var/tmp/diff_new_pack.3v8qxG/_old  2017-02-19 00:59:28.116756729 +0100
+++ /var/tmp/diff_new_pack.3v8qxG/_new  2017-02-19 00:59:28.120756168 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package unzip-rcc
 #
-# Copyright (c) 2016 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX Products GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -53,6 +53,8 @@
 Patch14:        Fix-CVE-2014-8140-and-CVE-2014-8141.patch
 Patch15:        CVE-2015-7696.patch
 Patch16:        CVE-2015-7697.patch
+Patch17:        CVE-2016-9844.patch
+Patch18:        CVE-2014-9913.patch
 Requires(post): update-alternatives
 Requires(preun): update-alternatives
 Recommends:     %{_name}-doc
@@ -93,6 +95,8 @@
 %patch14 -p1
 %patch15 -p1
 %patch16 -p1
+%patch17 -p1
+%patch18 -p1
 
 %build
 export RPM_OPT_FLAGS="%{optflags} \

unzip.spec: same change
++++++ CVE-2014-9913.patch ++++++
Index: unzip60/list.c
===================================================================
--- unzip60.orig/list.c
+++ unzip60/list.c
@@ -339,7 +339,18 @@ int list_files(__G)    /* return PK-type
                 G.crec.compression_method == ENHDEFLATED) {
                 methbuf[5] = dtype[(G.crec.general_purpose_bit_flag>>1) & 3];
             } else if (methnum >= NUM_METHODS) {
-                sprintf(&methbuf[4], "%03u", G.crec.compression_method);
+               /* 2013-02-26 SMS.
+                * http://sourceforge.net/p/infozip/bugs/27/  CVE-2014-9913.
+                * Unexpectedly large compression methods overflow
+                * &methbuf[].  Use the old, three-digit decimal format
+                * for values which fit.  Otherwise, sacrifice the
+                * colon, and use four-digit hexadecimal.
+                */
+               if (G.crec.compression_method <= 999) {
+                   sprintf( &methbuf[ 4], "%03u", G.crec.compression_method);
+               } else {
+                   sprintf( &methbuf[ 3], "%04X", G.crec.compression_method);
+               }
             }
 
 #if 0       /* GRR/Euro:  add this? */
++++++ CVE-2015-7697.patch ++++++
--- /var/tmp/diff_new_pack.3v8qxG/_old  2017-02-19 00:59:28.184747181 +0100
+++ /var/tmp/diff_new_pack.3v8qxG/_new  2017-02-19 00:59:28.188746619 +0100
@@ -26,3 +26,16 @@
  #if (defined(DLL) && !defined(NO_SLIDE_REDIR))
      if (G.redirect_slide)
          wsize = G.redirect_size, redirSlide = G.redirect_buffer;
+Index: unzip60/zipinfo.c
+===================================================================
+--- unzip60.orig/zipinfo.c
++++ unzip60/zipinfo.c
+@@ -1888,7 +1888,7 @@ static int zi_short(__G)   /* return PK-
+     int         k, error, error_in_archive=PK_COOL;
+     unsigned    hostnum, hostver, methid, methnum, xattr;
+     char        *p, workspace[12], attribs[16];
+-    char        methbuf[5];
++    char        methbuf[1+5+1];       /* large enough to hold 1 character + 
an unsigned short + NUL */
+     static ZCONST char dtype[5]="NXFS"; /* normal, maximum, fast, superfast */
+     static ZCONST char Far os[NUM_HOSTS+1][4] = {
+         "fat", "ami", "vms", "unx", "cms", "atr", "hpf", "mac", "zzz",

++++++ CVE-2016-9844.patch ++++++
Index: unzip60/zipinfo.c
===================================================================
--- unzip60.orig/zipinfo.c
+++ unzip60/zipinfo.c
@@ -1927,7 +1927,18 @@ static int zi_short(__G)   /* return PK-
         ush  dnum=(ush)((G.crec.general_purpose_bit_flag>>1) & 3);
         methbuf[3] = dtype[dnum];
     } else if (methnum >= NUM_METHODS) {   /* unknown */
-        sprintf(&methbuf[1], "%03u", G.crec.compression_method);
+       /* 2016-12-05 SMS.
+        * https://launchpad.net/bugs/1643750  CVE-2016-9844.
+        * Unexpectedly large compression methods overflow
+        * &methbuf[].  Use the old, three-digit decimal format
+        * for values which fit.  Otherwise, sacrifice the "u",
+        * and use four-digit hexadecimal.
+        */
+       if (G.crec.compression_method <= 999) {
+           sprintf( &methbuf[ 1], "%03u", G.crec.compression_method);
+       } else {
+           sprintf( &methbuf[ 0], "%04X", G.crec.compression_method);
+       }
     }
 
     for (k = 0;  k < 15;  ++k)

Reply via email to