diff options
author | Li Zhou <li.zhou@windriver.com> | 2015-09-02 11:03:39 +0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-09-18 19:22:27 +0100 |
commit | 4ce2a556ca78eee1f20b5654ec73338bb2204ff9 (patch) | |
tree | 11f117b366f75ec012d00a929d60c98ee3fd201f | |
parent | 174b15c2c027ed6ff9ecc2bdbd02b4bc108b7ff0 (diff) | |
download | poky-4ce2a556ca78eee1f20b5654ec73338bb2204ff9.tar.gz |
libunwind: Security Advisory - libunwind - CVE-2015-3239
libunwind: Invalid dwarf opcodes can cause references beyond the end of
the array
Off-by-one error in the dwarf_to_unw_regnum function in include/dwarf_i.h
in libunwind 1.1 allows local users to have unspecified impact via
invalid dwarf opcodes.
(From OE-Core master rev: 9c4e7f5c009b076b0bc638a02fcf3d96c362e7eb)
(From OE-Core rev: 38de3cd2fcc5e2c79dcf1c864c84f8e712111e5d)
Signed-off-by: Li Zhou <li.zhou@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/recipes-support/libunwind/libunwind-1.1/0001-Invalid-dwarf-opcodes-can-cause-references-beyond-th.patch | 29 | ||||
-rw-r--r-- | meta/recipes-support/libunwind/libunwind_1.1.bb | 1 |
2 files changed, 30 insertions, 0 deletions
diff --git a/meta/recipes-support/libunwind/libunwind-1.1/0001-Invalid-dwarf-opcodes-can-cause-references-beyond-th.patch b/meta/recipes-support/libunwind/libunwind-1.1/0001-Invalid-dwarf-opcodes-can-cause-references-beyond-th.patch new file mode 100644 index 0000000000..af972f84e4 --- /dev/null +++ b/meta/recipes-support/libunwind/libunwind-1.1/0001-Invalid-dwarf-opcodes-can-cause-references-beyond-th.patch | |||
@@ -0,0 +1,29 @@ | |||
1 | From 396b6c7ab737e2bff244d640601c436a26260ca1 Mon Sep 17 00:00:00 2001 | ||
2 | From: Arun Sharma <arun@sharma-home.net> | ||
3 | Date: Fri, 19 Jun 2015 19:47:22 -0700 | ||
4 | Subject: [PATCH] Invalid dwarf opcodes can cause references beyond the end of | ||
5 | the array. | ||
6 | |||
7 | Upstream-Status: backport | ||
8 | |||
9 | Signed-off-by: Li Zhou <li.zhou@windriver.com> | ||
10 | --- | ||
11 | include/dwarf_i.h | 2 +- | ||
12 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
13 | |||
14 | diff --git a/include/dwarf_i.h b/include/dwarf_i.h | ||
15 | index 1e6231e..4a02a7d 100644 | ||
16 | --- a/include/dwarf_i.h | ||
17 | +++ b/include/dwarf_i.h | ||
18 | @@ -20,7 +20,7 @@ | ||
19 | extern const uint8_t dwarf_to_unw_regnum_map[DWARF_REGNUM_MAP_LENGTH]; | ||
20 | /* REG is evaluated multiple times; it better be side-effects free! */ | ||
21 | # define dwarf_to_unw_regnum(reg) \ | ||
22 | - (((reg) <= DWARF_REGNUM_MAP_LENGTH) ? dwarf_to_unw_regnum_map[reg] : 0) | ||
23 | + (((reg) < DWARF_REGNUM_MAP_LENGTH) ? dwarf_to_unw_regnum_map[reg] : 0) | ||
24 | #endif | ||
25 | |||
26 | #ifdef UNW_LOCAL_ONLY | ||
27 | -- | ||
28 | 1.7.9.5 | ||
29 | |||
diff --git a/meta/recipes-support/libunwind/libunwind_1.1.bb b/meta/recipes-support/libunwind/libunwind_1.1.bb index ee6f522d68..8282c1b71a 100644 --- a/meta/recipes-support/libunwind/libunwind_1.1.bb +++ b/meta/recipes-support/libunwind/libunwind_1.1.bb | |||
@@ -5,6 +5,7 @@ SRC_URI += "\ | |||
5 | file://AArch64-port.patch \ | 5 | file://AArch64-port.patch \ |
6 | file://Fix-test-case-link-failure-on-PowerPC-systems-with-Altivec.patch \ | 6 | file://Fix-test-case-link-failure-on-PowerPC-systems-with-Altivec.patch \ |
7 | file://Link-libunwind-to-libgcc_s-rather-than-libgcc.patch \ | 7 | file://Link-libunwind-to-libgcc_s-rather-than-libgcc.patch \ |
8 | file://0001-Invalid-dwarf-opcodes-can-cause-references-beyond-th.patch \ | ||
8 | " | 9 | " |
9 | 10 | ||
10 | SRC_URI[md5sum] = "fb4ea2f6fbbe45bf032cd36e586883ce" | 11 | SRC_URI[md5sum] = "fb4ea2f6fbbe45bf032cd36e586883ce" |