Fix CVE 2018-6381
This commit is contained in:
parent
b7bf077404
commit
e3db5caf0d
1
.gitignore
vendored
1
.gitignore
vendored
@ -2,3 +2,4 @@ zziplib-0.13.49.tar.bz2
|
||||
/zziplib-0.13.59.tar.bz2
|
||||
/zziplib-0.13.60.tar.bz2
|
||||
/zziplib-0.13.62.tar.bz2
|
||||
/v0.13.67.tar.gz
|
||||
|
2
sources
2
sources
@ -1 +1 @@
|
||||
5fe874946390f939ee8f4abe9624b96c zziplib-0.13.62.tar.bz2
|
||||
SHA512 (v0.13.67.tar.gz) = a34b801a18a2051aa3898a572508ffd327521b69878413af679b10f6a68b37e770651884ae611bf9c01ce14013c6a1e06adeadd3ef6219d4b9278f1b9e7a6459
|
||||
|
28
zziplib-0.13.67-CVE-2018-6381.patch
Normal file
28
zziplib-0.13.67-CVE-2018-6381.patch
Normal file
@ -0,0 +1,28 @@
|
||||
From a803559fa9194be895422ba3684cf6309b6bb598 Mon Sep 17 00:00:00 2001
|
||||
From: Guido Draheim <guidod@gmx.de>
|
||||
Date: Thu, 1 Feb 2018 12:27:49 +0100
|
||||
Subject: [PATCH] merge CVE-2018-6381.patch from @jmoellers #12
|
||||
|
||||
---
|
||||
zzip/memdisk.c | 8 ++++++++
|
||||
1 file changed, 8 insertions(+)
|
||||
|
||||
diff --git a/zzip/memdisk.c b/zzip/memdisk.c
|
||||
index cab883b..a85dab0 100644
|
||||
--- a/zzip/memdisk.c
|
||||
+++ b/zzip/memdisk.c
|
||||
@@ -210,6 +210,14 @@ zzip_mem_entry_new(ZZIP_DISK * disk, ZZIP_DISK_ENTRY * entry)
|
||||
item->zz_diskstart = zzip_disk_entry_get_diskstart(entry);
|
||||
item->zz_filetype = zzip_disk_entry_get_filetype(entry);
|
||||
|
||||
+ /*
|
||||
+ * If the file is uncompressed, zz_csize and zz_usize should be the same
|
||||
+ * If they are not, we cannot guarantee that either is correct, so ...
|
||||
+ */
|
||||
+ if (item->zz_compr == ZZIP_IS_STORED && item->zz_csize != item->zz_usize)
|
||||
+ {
|
||||
+ goto error;
|
||||
+ }
|
||||
/* zz_comment and zz_name are empty strings if not present on disk */
|
||||
if (! item->zz_comment || ! item->zz_name)
|
||||
{
|
@ -1,6 +1,6 @@
|
||||
diff -Naupr zziplib-0.13.59.orig/zzip/_config.h zziplib-0.13.59/zzip/_config.h
|
||||
--- zziplib-0.13.59.orig/zzip/_config.h 2010-02-14 22:29:34.000000000 +0100
|
||||
+++ zziplib-0.13.59/zzip/_config.h 2010-12-04 16:22:19.809534085 +0100
|
||||
diff -up ./x86_64-redhat-linux-gnu/zzip/_config.h.orig ./x86_64-redhat-linux-gnu/zzip/_config.h
|
||||
--- ./x86_64-redhat-linux-gnu/zzip/_config.h.orig 2018-02-01 22:13:36.593910695 +0200
|
||||
+++ ./x86_64-redhat-linux-gnu/zzip/_config.h 2018-02-01 22:15:40.341476130 +0200
|
||||
@@ -133,7 +133,11 @@
|
||||
|
||||
/* whether the system defaults to 32bit off_t but can do 64bit when requested
|
||||
@ -14,7 +14,7 @@ diff -Naupr zziplib-0.13.59.orig/zzip/_config.h zziplib-0.13.59/zzip/_config.h
|
||||
|
||||
/* Define to the sub-directory in which libtool stores uninstalled libraries.
|
||||
*/
|
||||
@@ -178,8 +181,12 @@
|
||||
@@ -183,8 +187,12 @@
|
||||
|
||||
/* The number of bytes in type long */
|
||||
#ifndef ZZIP_SIZEOF_LONG
|
||||
@ -27,7 +27,7 @@ diff -Naupr zziplib-0.13.59.orig/zzip/_config.h zziplib-0.13.59/zzip/_config.h
|
||||
|
||||
/* The number of bytes in type short */
|
||||
#ifndef ZZIP_SIZEOF_SHORT
|
||||
@@ -209,7 +216,11 @@
|
||||
@@ -219,7 +227,11 @@
|
||||
#endif
|
||||
|
||||
/* Number of bits in a file offset, on hosts where this is settable. */
|
13
zziplib.spec
13
zziplib.spec
@ -6,7 +6,8 @@ License: LGPLv2+ or MPLv1.1
|
||||
Group: Applications/Archiving
|
||||
URL: http://zziplib.sourceforge.net/
|
||||
Source: https://github.com/gdraheim/zziplib/archive/v%{version}.tar.gz
|
||||
Patch0: zziplib-0.13.59-multilib.patch
|
||||
Patch0: zziplib-0.13.67-CVE-2018-6381.patch
|
||||
Patch1: zziplib-0.13.67-multilib.patch
|
||||
BuildRequires: perl-interpreter
|
||||
BuildRequires: python
|
||||
BuildRequires: zip
|
||||
@ -59,8 +60,6 @@ zziplib library.
|
||||
%prep
|
||||
%setup -q
|
||||
%patch0 -p1
|
||||
# Save the common patched _config.h file to overwrite the generated one
|
||||
cp -a zzip/_config.h _config.h
|
||||
|
||||
%build
|
||||
export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
|
||||
@ -71,13 +70,15 @@ export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
|
||||
# Remove rpath on 64bit archs
|
||||
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' */libtool
|
||||
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' */libtool
|
||||
cd %{_host}
|
||||
%apply_patch %{PATCH1} -p2
|
||||
cd ..
|
||||
|
||||
%{__make} %{?_smp_mflags}
|
||||
|
||||
|
||||
%install
|
||||
make install DESTDIR=%{buildroot}
|
||||
# Overwrite the platform specific _config.h with our own modified common one
|
||||
rm -f %{buildroot}%{_includedir}/zzip/_config.h
|
||||
install -p -m 0644 _config.h %{buildroot}%{_includedir}/zzip/_config.h
|
||||
|
||||
%post -p /sbin/ldconfig
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user