blob: 2ef36c232c99d3fe2e7b8bd70cf947f24eb1c64d [file] [log] [blame]
From d895ef77ffc94e02e748856c2ab54f5bb8cc867e Mon Sep 17 00:00:00 2001
From: Nick Clifton <nickc@redhat.com>
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 <akuster@mvista.com>
---
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 <nickc@redhat.com>
+
+ Import patch from mainline:
+ 2018-02-08 Nick Clifton <nickc@redhat.com>
+
+ PR 22788
+ * elf.c (elf_parse_notes): Reject notes with excessuively large
+ alignments.
+
2018-03-01 Nick Clifton <nickc@redhat.com>
PR 22905