author | Vladimir Marek <Vladimir.Marek@oracle.com> |
Fri, 26 Feb 2016 15:01:20 +0100 | |
changeset 5537 | fb31633dac76 |
parent 3586 | components/unzip/patches/CVE-2014-8139.patch@189b6ab19f2e |
permissions | -rw-r--r-- |
3586
189b6ab19f2e
20298643 problem in UTILITY/ZIP
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff
changeset
|
1 |
Source: |
189b6ab19f2e
20298643 problem in UTILITY/ZIP
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff
changeset
|
2 |
https://bugzilla.redhat.com/show_bug.cgi?id=1174844 |
189b6ab19f2e
20298643 problem in UTILITY/ZIP
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff
changeset
|
3 |
Info: |
189b6ab19f2e
20298643 problem in UTILITY/ZIP
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff
changeset
|
4 |
http://www.ocert.org/advisories/ocert-2014-011.html |
189b6ab19f2e
20298643 problem in UTILITY/ZIP
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff
changeset
|
5 |
|
189b6ab19f2e
20298643 problem in UTILITY/ZIP
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff
changeset
|
6 |
--- unzip60/extract.c 2010-04-03 14:41:55 -0500 |
189b6ab19f2e
20298643 problem in UTILITY/ZIP
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff
changeset
|
7 |
+++ unzip60/extract.c 2014-12-03 15:33:35 -0600 |
189b6ab19f2e
20298643 problem in UTILITY/ZIP
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff
changeset
|
8 |
@@ -1,5 +1,5 @@ |
189b6ab19f2e
20298643 problem in UTILITY/ZIP
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff
changeset
|
9 |
/* |
189b6ab19f2e
20298643 problem in UTILITY/ZIP
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff
changeset
|
10 |
- Copyright (c) 1990-2009 Info-ZIP. All rights reserved. |
189b6ab19f2e
20298643 problem in UTILITY/ZIP
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff
changeset
|
11 |
+ Copyright (c) 1990-2014 Info-ZIP. All rights reserved. |
189b6ab19f2e
20298643 problem in UTILITY/ZIP
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff
changeset
|
12 |
|
189b6ab19f2e
20298643 problem in UTILITY/ZIP
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff
changeset
|
13 |
See the accompanying file LICENSE, version 2009-Jan-02 or later |
189b6ab19f2e
20298643 problem in UTILITY/ZIP
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff
changeset
|
14 |
(the contents of which are also included in unzip.h) for terms of use. |
189b6ab19f2e
20298643 problem in UTILITY/ZIP
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff
changeset
|
15 |
@@ -298,6 +298,8 @@ |
189b6ab19f2e
20298643 problem in UTILITY/ZIP
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff
changeset
|
16 |
#ifndef SFX |
189b6ab19f2e
20298643 problem in UTILITY/ZIP
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff
changeset
|
17 |
static ZCONST char Far InconsistEFlength[] = "bad extra-field entry:\n \ |
189b6ab19f2e
20298643 problem in UTILITY/ZIP
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff
changeset
|
18 |
EF block length (%u bytes) exceeds remaining EF data (%u bytes)\n"; |
189b6ab19f2e
20298643 problem in UTILITY/ZIP
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff
changeset
|
19 |
+ static ZCONST char Far TooSmallEFlength[] = "bad extra-field entry:\n \ |
189b6ab19f2e
20298643 problem in UTILITY/ZIP
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff
changeset
|
20 |
+ EF block length (%u bytes) invalid (< %d)\n"; |
189b6ab19f2e
20298643 problem in UTILITY/ZIP
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff
changeset
|
21 |
static ZCONST char Far InvalidComprDataEAs[] = |
189b6ab19f2e
20298643 problem in UTILITY/ZIP
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff
changeset
|
22 |
" invalid compressed data for EAs\n"; |
189b6ab19f2e
20298643 problem in UTILITY/ZIP
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff
changeset
|
23 |
# if (defined(WIN32) && defined(NTSD_EAS)) |
189b6ab19f2e
20298643 problem in UTILITY/ZIP
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff
changeset
|
24 |
@@ -2023,7 +2025,8 @@ |
189b6ab19f2e
20298643 problem in UTILITY/ZIP
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff
changeset
|
25 |
ebID = makeword(ef); |
189b6ab19f2e
20298643 problem in UTILITY/ZIP
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff
changeset
|
26 |
ebLen = (unsigned)makeword(ef+EB_LEN); |
189b6ab19f2e
20298643 problem in UTILITY/ZIP
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff
changeset
|
27 |
|
189b6ab19f2e
20298643 problem in UTILITY/ZIP
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff
changeset
|
28 |
- if (ebLen > (ef_len - EB_HEADSIZE)) { |
189b6ab19f2e
20298643 problem in UTILITY/ZIP
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff
changeset
|
29 |
+ if (ebLen > (ef_len - EB_HEADSIZE)) |
189b6ab19f2e
20298643 problem in UTILITY/ZIP
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff
changeset
|
30 |
+ { |
189b6ab19f2e
20298643 problem in UTILITY/ZIP
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff
changeset
|
31 |
/* Discovered some extra field inconsistency! */ |
189b6ab19f2e
20298643 problem in UTILITY/ZIP
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff
changeset
|
32 |
if (uO.qflag) |
189b6ab19f2e
20298643 problem in UTILITY/ZIP
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff
changeset
|
33 |
Info(slide, 1, ((char *)slide, "%-22s ", |
189b6ab19f2e
20298643 problem in UTILITY/ZIP
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff
changeset
|
34 |
@@ -2032,6 +2035,16 @@ |
189b6ab19f2e
20298643 problem in UTILITY/ZIP
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff
changeset
|
35 |
ebLen, (ef_len - EB_HEADSIZE))); |
189b6ab19f2e
20298643 problem in UTILITY/ZIP
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff
changeset
|
36 |
return PK_ERR; |
189b6ab19f2e
20298643 problem in UTILITY/ZIP
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff
changeset
|
37 |
} |
189b6ab19f2e
20298643 problem in UTILITY/ZIP
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff
changeset
|
38 |
+ else if (ebLen < EB_HEADSIZE) |
189b6ab19f2e
20298643 problem in UTILITY/ZIP
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff
changeset
|
39 |
+ { |
189b6ab19f2e
20298643 problem in UTILITY/ZIP
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff
changeset
|
40 |
+ /* Extra block length smaller than header length. */ |
189b6ab19f2e
20298643 problem in UTILITY/ZIP
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff
changeset
|
41 |
+ if (uO.qflag) |
189b6ab19f2e
20298643 problem in UTILITY/ZIP
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff
changeset
|
42 |
+ Info(slide, 1, ((char *)slide, "%-22s ", |
189b6ab19f2e
20298643 problem in UTILITY/ZIP
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff
changeset
|
43 |
+ FnFilter1(G.filename))); |
189b6ab19f2e
20298643 problem in UTILITY/ZIP
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff
changeset
|
44 |
+ Info(slide, 1, ((char *)slide, LoadFarString(TooSmallEFlength), |
189b6ab19f2e
20298643 problem in UTILITY/ZIP
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff
changeset
|
45 |
+ ebLen, EB_HEADSIZE)); |
189b6ab19f2e
20298643 problem in UTILITY/ZIP
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff
changeset
|
46 |
+ return PK_ERR; |
189b6ab19f2e
20298643 problem in UTILITY/ZIP
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff
changeset
|
47 |
+ } |
189b6ab19f2e
20298643 problem in UTILITY/ZIP
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff
changeset
|
48 |
|
189b6ab19f2e
20298643 problem in UTILITY/ZIP
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff
changeset
|
49 |
switch (ebID) { |
189b6ab19f2e
20298643 problem in UTILITY/ZIP
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff
changeset
|
50 |
case EF_OS2: |
189b6ab19f2e
20298643 problem in UTILITY/ZIP
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff
changeset
|
51 |