guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/01: gnu: p7zip: Fix CVE-2016-9256.


From: Efraim Flashner
Subject: 01/01: gnu: p7zip: Fix CVE-2016-9256.
Date: Fri, 3 Feb 2017 20:24:32 +0000 (UTC)

efraim pushed a commit to branch master
in repository guix.

commit 1ac675a5831e39968be3c137a4ff448c9f65f48e
Author: Efraim Flashner <address@hidden>
Date:   Fri Feb 3 22:17:41 2017 +0200

    gnu: p7zip: Fix CVE-2016-9256.
    
    * gnu/packages/compression.scm (p7zip)[source]: Add patch.
    * gnu/packages/patches/p7zip-CVE-2016-9296.patch: New file.
    * gnu/local.mk (dist_patch_DATA): Register it.
---
 gnu/local.mk                                   |    1 +
 gnu/packages/compression.scm                   |    3 ++-
 gnu/packages/patches/p7zip-CVE-2016-9296.patch |   24 ++++++++++++++++++++++++
 3 files changed, 27 insertions(+), 1 deletion(-)

diff --git a/gnu/local.mk b/gnu/local.mk
index b0f6a9d..0948321 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -797,6 +797,7 @@ dist_patch_DATA =                                           
\
   %D%/packages/patches/openssl-c-rehash-in.patch               \
   %D%/packages/patches/orpheus-cast-errors-and-includes.patch  \
   %D%/packages/patches/ots-no-include-missing-file.patch       \
+  %D%/packages/patches/p7zip-CVE-2016-9296.patch                       \
   %D%/packages/patches/p7zip-remove-unused-code.patch          \
   %D%/packages/patches/patchelf-page-size.patch                        \
   %D%/packages/patches/patchelf-rework-for-arm.patch           \
diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index fbbc321..9ef255a 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -924,7 +924,8 @@ for most inputs, but the resulting compressed files are 
anywhere from 20% to
                   (delete-file-recursively "CPP/7zip/Archive/Rar")
                   (delete-file-recursively "CPP/7zip/Compress/Rar")
                   #t))
-              (patches (search-patches "p7zip-remove-unused-code.patch"))))
+              (patches (search-patches "p7zip-CVE-2016-9296.patch"
+                                       "p7zip-remove-unused-code.patch"))))
     (build-system gnu-build-system)
     (arguments
      `(#:make-flags
diff --git a/gnu/packages/patches/p7zip-CVE-2016-9296.patch 
b/gnu/packages/patches/p7zip-CVE-2016-9296.patch
new file mode 100644
index 0000000..3fa8037
--- /dev/null
+++ b/gnu/packages/patches/p7zip-CVE-2016-9296.patch
@@ -0,0 +1,24 @@
+From: Robert Luberda <address@hidden>
+Date: Sat, 19 Nov 2016 08:48:08 +0100
+Subject: Fix nullptr dereference (CVE-2016-9296)
+
+Patch taken from https://sourceforge.net/p/p7zip/bugs/185/
+This patch file taken from Debian's patch set for p7zip
+---
+ CPP/7zip/Archive/7z/7zIn.cpp | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/CPP/7zip/Archive/7z/7zIn.cpp b/CPP/7zip/Archive/7z/7zIn.cpp
+index b0c6b98..7c6dde2 100644
+--- a/CPP/7zip/Archive/7z/7zIn.cpp
++++ b/CPP/7zip/Archive/7z/7zIn.cpp
+@@ -1097,7 +1097,8 @@ HRESULT CInArchive::ReadAndDecodePackedStreams(
+       if (CrcCalc(data, unpackSize) != folders.FolderCRCs.Vals[i])
+         ThrowIncorrect();
+   }
+-  HeadersSize += folders.PackPositions[folders.NumPackStreams];
++  if (folders.PackPositions)
++      HeadersSize += folders.PackPositions[folders.NumPackStreams];
+   return S_OK;
+ }
+ 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]