diff options
Diffstat (limited to 'meta/recipes-support/icu')
-rw-r--r-- | meta/recipes-support/icu/icu/icu-CVE-2014-8146-CVE-2014-8147.patch | 49 | ||||
-rw-r--r-- | meta/recipes-support/icu/icu_53.1.bb | 1 |
2 files changed, 50 insertions, 0 deletions
diff --git a/meta/recipes-support/icu/icu/icu-CVE-2014-8146-CVE-2014-8147.patch b/meta/recipes-support/icu/icu/icu-CVE-2014-8146-CVE-2014-8147.patch new file mode 100644 index 0000000000..2460357f10 --- /dev/null +++ b/meta/recipes-support/icu/icu/icu-CVE-2014-8146-CVE-2014-8147.patch | |||
@@ -0,0 +1,49 @@ | |||
1 | icu: CVE-2014-8146-CVE-2014-8147 | ||
2 | |||
3 | CVE-2014-8146 icu: heap overflow via incorrect isolateCount | ||
4 | CVE-2014-8147 icu: integer truncation in the resolveImplicitLevels function | ||
5 | |||
6 | References: | ||
7 | [1] https://github.com/pedrib/PoC/raw/master/generic/i-c-u-fail.7z | ||
8 | [2] https://www.kb.cert.org/vuls/id/602540 | ||
9 | [3] http://bugs.icu-project.org/trac/changeset/37080 | ||
10 | [4] http://bugs.icu-project.org/trac/changeset/37162 | ||
11 | |||
12 | Upstream-Status: Backport | ||
13 | |||
14 | Signed-off-by: Sona Sarmadi <sona.sarmadi@enea.com> | ||
15 | --- | ||
16 | diff -ruN a/common/ubidi.c b/common/ubidi.c | ||
17 | --- a/common/ubidi.c 2014-10-03 18:11:20.000000000 +0200 | ||
18 | +++ b/common/ubidi.c 2015-08-28 08:22:39.455906194 +0200 | ||
19 | @@ -2138,7 +2138,7 @@ | ||
20 | /* The isolates[] entries contain enough information to | ||
21 | resume the bidi algorithm in the same state as it was | ||
22 | when it was interrupted by an isolate sequence. */ | ||
23 | - if(dirProps[start]==PDI) { | ||
24 | + if(dirProps[start]==PDI && pBiDi->isolateCount >= 0) { | ||
25 | levState.startON=pBiDi->isolates[pBiDi->isolateCount].startON; | ||
26 | start1=pBiDi->isolates[pBiDi->isolateCount].start1; | ||
27 | stateImp=pBiDi->isolates[pBiDi->isolateCount].stateImp; | ||
28 | diff -ruN a/common/ubidiimp.h b/common/ubidiimp.h | ||
29 | --- a/common/ubidiimp.h 2014-10-03 18:11:16.000000000 +0200 | ||
30 | +++ b/common/ubidiimp.h 2015-08-28 08:28:24.069163845 +0200 | ||
31 | @@ -1,7 +1,7 @@ | ||
32 | /* | ||
33 | ****************************************************************************** | ||
34 | * | ||
35 | -* Copyright (C) 1999-2014, International Business Machines | ||
36 | +* Copyright (C) 1999-2015, International Business Machines | ||
37 | * Corporation and others. All Rights Reserved. | ||
38 | * | ||
39 | ****************************************************************************** | ||
40 | @@ -184,8 +184,8 @@ | ||
41 | typedef struct Isolate { | ||
42 | int32_t startON; | ||
43 | int32_t start1; | ||
44 | + int32_t state; | ||
45 | int16_t stateImp; | ||
46 | - int16_t state; | ||
47 | } Isolate; | ||
48 | |||
49 | typedef struct Run { | ||
diff --git a/meta/recipes-support/icu/icu_53.1.bb b/meta/recipes-support/icu/icu_53.1.bb index d93af68438..2906e8f864 100644 --- a/meta/recipes-support/icu/icu_53.1.bb +++ b/meta/recipes-support/icu/icu_53.1.bb | |||
@@ -11,6 +11,7 @@ ICU_PV = "${@icu_download_version(d)}" | |||
11 | BASE_SRC_URI = "http://download.icu-project.org/files/icu4c/${PV}/icu4c-${ICU_PV}-src.tgz" | 11 | BASE_SRC_URI = "http://download.icu-project.org/files/icu4c/${PV}/icu4c-${ICU_PV}-src.tgz" |
12 | SRC_URI = "${BASE_SRC_URI} \ | 12 | SRC_URI = "${BASE_SRC_URI} \ |
13 | file://icu-pkgdata-large-cmd.patch \ | 13 | file://icu-pkgdata-large-cmd.patch \ |
14 | file://icu-CVE-2014-8146-CVE-2014-8147.patch \ | ||
14 | " | 15 | " |
15 | 16 | ||
16 | SRC_URI_append_class-target = "\ | 17 | SRC_URI_append_class-target = "\ |