glibc/sysdeps
Florian Weimer 52a01100ad elf: Remove ad-hoc restrictions on dlopen callers [BZ #22787]
This looks like a post-exploitation hardening measure: If an attacker is
able to redirect execution flow, they could use that to load a DSO which
contains additional code (or perhaps make the stack executable).

However, the checks are not in the correct place to be effective: If
they are performed before the critical operation, an attacker with
sufficient control over execution flow could simply jump directly to
the code which performs the operation, bypassing the check.  The check
would have to be executed unconditionally after the operation and
terminate the process in case a caller violation was detected.

Furthermore, in _dl_check_caller, there was a fallback reading global
writable data (GL(dl_rtld_map).l_map_start and
GL(dl_rtld_map).l_text_end), which could conceivably be targeted by an
attacker to disable the check, too.

Other critical functions (such as system) remain completely
unprotected, so the value of these additional checks does not appear
that large.  Therefore this commit removes this functionality.
2018-02-21 10:37:22 +01:00
..
aarch64 [AArch64] Fix include. 2018-02-15 12:41:06 +00:00
alpha Update Alpha libm-test-ulps 2018-01-27 13:31:38 +01:00
arm Move LDBL_CLASSIFY_COMPAT to its own header. 2018-02-01 21:01:00 +00:00
generic elf: Remove ad-hoc restrictions on dlopen callers [BZ #22787] 2018-02-21 10:37:22 +01:00
gnu Add TCP_FASTOPEN_KEY, TCP_FASTOPEN_NO_COOKIE from Linux 4.15. 2018-02-06 00:42:22 +00:00
hppa Fix ulps for pow on hppa. 2018-02-17 13:46:50 -05:00
i386 Remove mplog and mpexp 2018-02-15 12:41:05 +00:00
ia64 Remove mplog and mpexp 2018-02-15 12:41:05 +00:00
ieee754 Remove mplog and mpexp 2018-02-15 12:41:05 +00:00
init_array sysdeps/init_array: Add PREINIT_FUNCTION to crti.S 2018-01-29 10:22:26 -08:00
m68k Remove mplog and mpexp 2018-02-15 12:41:05 +00:00
mach hurd: fix build 2018-02-21 01:17:29 +01:00
microblaze Move LDBL_CLASSIFY_COMPAT to its own header. 2018-02-01 21:01:00 +00:00
mips Move LDBL_CLASSIFY_COMPAT to its own header. 2018-02-01 21:01:00 +00:00
nios2 Move LDBL_CLASSIFY_COMPAT to its own header. 2018-02-01 21:01:00 +00:00
nptl Revert Intel CET changes to __jmp_buf_tag (Bug 22743) 2018-01-25 23:43:46 -08:00
posix Fix -Os feof_unlocked linknamespace, localplt issues (bug 15105, bug 19463). 2018-02-15 20:57:15 +00:00
powerpc powerpc: Update pow() ULPs 2018-02-12 13:23:03 -02:00
pthread allocalim.h: use __glibc_likely instead of __builtin_expect 2018-01-30 21:42:21 +01:00
riscv RISC-V: Build Infastructure 2018-01-29 10:43:15 -08:00
s390 S390: Regenerate ULPs. 2018-02-15 09:06:18 +01:00
sh Update SH libm-tests-ulps 2018-02-14 14:03:40 -02:00
sparc sparc: Check PIC instead of SHARED in start.S [BZ #22638] 2018-02-05 05:46:56 -08:00
tile Unify and simplify bits/byteswap.h, bits/byteswap-16.h headers (bug 14508, bug 15512, bug 17082, bug 20530). 2018-02-06 21:55:08 +00:00
unix elf: Remove ad-hoc restrictions on dlopen callers [BZ #22787] 2018-02-21 10:37:22 +01:00
wordsize-32 Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
wordsize-64 Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
x86 Unify and simplify bits/byteswap.h, bits/byteswap-16.h headers (bug 14508, bug 15512, bug 17082, bug 20530). 2018-02-06 21:55:08 +00:00
x86_64 Remove mplog and mpexp 2018-02-15 12:41:05 +00:00