Skip to content

Commit

Permalink
fix(p7zip): fix CVE-2017-17969
Browse files Browse the repository at this point in the history
Signed-off-by: Radovan Scasny <radovan.scasny@siemens.com>
Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
  • Loading branch information
Radovan Scasny authored and akuster committed Mar 2, 2018
1 parent 19c1b40 commit 203027a
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 1 deletion.
31 changes: 31 additions & 0 deletions meta-oe/recipes-extended/p7zip/files/CVE-2017-17969.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
p7zip: Fix CVE-2017-17969

[No upstream tracking] -- https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=888297

Heap-based buffer overflow in 7zip

Compress/ShrinkDecoder.cpp: Heap-based buffer overflow
in the NCompress::NShrink::CDecoder::CodeReal method
in 7-Zip before 18.00 and p7zip allows remote attackers
to cause a denial of service (out-of-bounds write)
or potentially execute arbitrary code via a crafted ZIP archive.

Upstream-Status: Backport [https://sourceforge.net/p/p7zip/bugs/_discuss/thread/0920f369/8316/attachment/CVE-2017-17969.patch]
CVE: CVE-2017-17969
Signed-off-by: Radovan Scasny <radovan.scasny@siemens.com>

--- a/CPP/7zip/Compress/ShrinkDecoder.cpp
+++ b/CPP/7zip/Compress/ShrinkDecoder.cpp
@@ -121,7 +121,12 @@ HRESULT CDecoder::CodeReal(ISequentialInStream *inStream, ISequentialOutStream *
{
_stack[i++] = _suffixes[cur];
cur = _parents[cur];
+ if (cur >= kNumItems || i >= kNumItems)
+ break;
}
+
+ if (cur >= kNumItems || i >= kNumItems)
+ break;

_stack[i++] = (Byte)cur;
lastChar2 = (Byte)cur;
3 changes: 2 additions & 1 deletion meta-oe/recipes-extended/p7zip/p7zip_16.02.bb
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ LIC_FILES_CHKSUM = "file://DOC/copying.txt;md5=4fbd65380cdd255951079008b364516c
file://DOC/License.txt;md5=879598edf1f54dddb6930d7581357f8b"

SRC_URI = "http://downloads.sourceforge.net/p7zip/p7zip/${PV}/p7zip_${PV}_src_all.tar.bz2 \
file://do_not_override_compiler_and_do_not_strip.patch"
file://do_not_override_compiler_and_do_not_strip.patch \
file://CVE-2017-17969.patch"

SRC_URI[md5sum] = "a0128d661cfe7cc8c121e73519c54fbf"
SRC_URI[sha256sum] = "5eb20ac0e2944f6cb9c2d51dd6c4518941c185347d4089ea89087ffdd6e2341f"
Expand Down

0 comments on commit 203027a

Please sign in to comment.