From 9c4e7f5c009b076b0bc638a02fcf3d96c362e7eb Mon Sep 17 00:00:00 2001 From: Li Zhou Date: Wed, 2 Sep 2015 11:03:39 +0800 Subject: 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. Signed-off-by: Li Zhou Signed-off-by: Richard Purdie --- ...rf-opcodes-can-cause-references-beyond-th.patch | 29 ++++++++++++++++++++++ meta/recipes-support/libunwind/libunwind_1.1.bb | 1 + 2 files changed, 30 insertions(+) create mode 100644 meta/recipes-support/libunwind/libunwind-1.1/0001-Invalid-dwarf-opcodes-can-cause-references-beyond-th.patch 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 @@ +From 396b6c7ab737e2bff244d640601c436a26260ca1 Mon Sep 17 00:00:00 2001 +From: Arun Sharma +Date: Fri, 19 Jun 2015 19:47:22 -0700 +Subject: [PATCH] Invalid dwarf opcodes can cause references beyond the end of + the array. + +Upstream-Status: backport + +Signed-off-by: Li Zhou +--- + include/dwarf_i.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/include/dwarf_i.h b/include/dwarf_i.h +index 1e6231e..4a02a7d 100644 +--- a/include/dwarf_i.h ++++ b/include/dwarf_i.h +@@ -20,7 +20,7 @@ + extern const uint8_t dwarf_to_unw_regnum_map[DWARF_REGNUM_MAP_LENGTH]; + /* REG is evaluated multiple times; it better be side-effects free! */ + # define dwarf_to_unw_regnum(reg) \ +- (((reg) <= DWARF_REGNUM_MAP_LENGTH) ? dwarf_to_unw_regnum_map[reg] : 0) ++ (((reg) < DWARF_REGNUM_MAP_LENGTH) ? dwarf_to_unw_regnum_map[reg] : 0) + #endif + + #ifdef UNW_LOCAL_ONLY +-- +1.7.9.5 + 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 += "\ file://AArch64-port.patch \ file://Fix-test-case-link-failure-on-PowerPC-systems-with-Altivec.patch \ file://Link-libunwind-to-libgcc_s-rather-than-libgcc.patch \ + file://0001-Invalid-dwarf-opcodes-can-cause-references-beyond-th.patch \ " SRC_URI[md5sum] = "fb4ea2f6fbbe45bf032cd36e586883ce" -- cgit 1.2.3-korg