]> git.ipfire.org Git - thirdparty/glibc.git/commit
Ignore and remove LD_HWCAP_MASK for AT_SECURE programs (bug #21209)
authorSiddhesh Poyarekar <siddhesh@sourceware.org>
Tue, 20 Jun 2017 03:59:17 +0000 (05:59 +0200)
committerFlorian Weimer <fweimer@redhat.com>
Tue, 20 Jun 2017 03:59:17 +0000 (05:59 +0200)
commit3776f38fcd267c127ba5eb222e2c614c191744aa
tree7d196b5415bd1cb87860ce5defd3bffa36b2573d
parentc69d4a0f680a24fdbe323764a50382ad324041e9
Ignore and remove LD_HWCAP_MASK for AT_SECURE programs (bug #21209)

The LD_HWCAP_MASK environment variable may alter the selection of
function variants for some architectures.  For AT_SECURE process it
means that if an outdated routine has a bug that would otherwise not
affect newer platforms by default, LD_HWCAP_MASK will allow that bug
to be exploited.

To be on the safe side, ignore and disable LD_HWCAP_MASK for setuid
binaries.

[BZ #21209]
* elf/rtld.c (process_envvars): Ignore LD_HWCAP_MASK for
AT_SECURE processes.
* sysdeps/generic/unsecvars.h: Add LD_HWCAP_MASK.
* elf/tst-env-setuid.c (test_parent): Test LD_HWCAP_MASK.
(test_child): Likewise.
* elf/Makefile (tst-env-setuid-ENV): Add LD_HWCAP_MASK.

(cherry picked from commit 1c1243b6fc33c029488add276e56570a07803bfd)
ChangeLog
NEWS
elf/Makefile
elf/rtld.c
elf/tst-env-setuid.c
sysdeps/generic/unsecvars.h