commit 61e3bf5f83f7e505b6bc51ef65426e5b31e6e360 Author: H.J. Lu Date: Fri Sep 22 14:15:40 2017 -0700 x86: Guard against corrupted PLT There should be only one entry in PLT for a given symbol. Set howto to NULL after processing a PLT entry to guard against corrupted PLT so that the duplicated PLT entries are skipped. PR binutils/22170 Upstream-Status: Backport CVE: CVE-2017-14729 Signed-off-by: Thiruvadi Rajaraman Index: git/bfd/elf-ifunc.c =================================================================== --- git.orig/bfd/elf-ifunc.c 2017-11-08 12:34:22.063320490 +0530 +++ git/bfd/elf-ifunc.c 2017-11-08 12:34:29.995404891 +0530 @@ -473,6 +473,10 @@ memcpy (names, "@plt", sizeof ("@plt")); names += sizeof ("@plt"); ++s, ++n; + /* There should be only one entry in PLT for a given + symbol. Set howto to NULL after processing a PLT + entry to guard against corrupted PLT. */ + p->howto = NULL; } free (plt_sym_val); Index: git/bfd/ChangeLog =================================================================== --- git.orig/bfd/ChangeLog 2017-11-08 12:34:29.939404297 +0530 +++ git/bfd/ChangeLog 2017-11-08 12:35:55.660271599 +0530 @@ -1,3 +1,9 @@ +2017-09-22 H.J. Lu + + PR binutils/22170 + * elf-ifunc.c (elf_get_synthetic_symtab): Guard against + corrupted PLT. + 2017-07-27 Nick Clifton PR 21840