From b28327654411e68fcd7171dcbb0f95523b2501fc Mon Sep 17 00:00:00 2001 From: Armin Kuster Date: Sun, 5 Aug 2018 21:55:12 -0700 Subject: binutls: Security fix CVE-2018-6872 Affects <= 2.30 (From OE-Core rev: 9626b58123eb50cb830443b3f514988f5417cc6c) Signed-off-by: Armin Kuster Signed-off-by: Richard Purdie --- meta/recipes-devtools/binutils/binutils-2.30.inc | 1 + .../binutils/binutils/CVE-2018-6872.patch | 50 ++++++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 meta/recipes-devtools/binutils/binutils/CVE-2018-6872.patch (limited to 'meta/recipes-devtools') diff --git a/meta/recipes-devtools/binutils/binutils-2.30.inc b/meta/recipes-devtools/binutils/binutils-2.30.inc index 1952d46c20..23625d1a1b 100644 --- a/meta/recipes-devtools/binutils/binutils-2.30.inc +++ b/meta/recipes-devtools/binutils/binutils-2.30.inc @@ -37,6 +37,7 @@ SRC_URI = "\ file://0015-sync-with-OE-libtool-changes.patch \ file://CVE-2018-8945.patch \ file://CVE-2018-7643.patch \ + file://CVE-2018-6872.patch \ " S = "${WORKDIR}/git" diff --git a/meta/recipes-devtools/binutils/binutils/CVE-2018-6872.patch b/meta/recipes-devtools/binutils/binutils/CVE-2018-6872.patch new file mode 100644 index 0000000000..2ef36c232c --- /dev/null +++ b/meta/recipes-devtools/binutils/binutils/CVE-2018-6872.patch @@ -0,0 +1,50 @@ +From d895ef77ffc94e02e748856c2ab54f5bb8cc867e Mon Sep 17 00:00:00 2001 +From: Nick Clifton +Date: Fri, 9 Feb 2018 09:28:45 +0000 +Subject: [PATCH] Import patch from mainline to fix possible seg-fault whilst + parsing corrupt ELF notes with extravagent alignments. + + PR 22788 + * elf.c (elf_parse_notes): Reject notes with excessuively large + alignments. + +Upstream-Status: Backport +Affects: Binutils <= 2.30 +CVE: CVE-2018-6872 +Signed-off-by: Armin Kuster + +--- + bfd/ChangeLog | 9 +++++++++ + bfd/elf.c | 2 ++ + 2 files changed, 11 insertions(+) + +Index: git/bfd/elf.c +=================================================================== +--- git.orig/bfd/elf.c ++++ git/bfd/elf.c +@@ -11020,6 +11020,8 @@ elf_parse_notes (bfd *abfd, char *buf, s + align is less than 4, we use 4 byte alignment. */ + if (align < 4) + align = 4; ++ if (align != 4 && align != 8) ++ return FALSE; + + p = buf; + while (p < buf + size) +Index: git/bfd/ChangeLog +=================================================================== +--- git.orig/bfd/ChangeLog ++++ git/bfd/ChangeLog +@@ -1,3 +1,12 @@ ++2018-02-09 Nick Clifton ++ ++ Import patch from mainline: ++ 2018-02-08 Nick Clifton ++ ++ PR 22788 ++ * elf.c (elf_parse_notes): Reject notes with excessuively large ++ alignments. ++ + 2018-03-01 Nick Clifton + + PR 22905 -- cgit v1.2.3-54-g00ecf