62c03a4ff4
For security reasons, when a binary is executed which causes a security transition (eg, a setuid binary, setgid binary, filesystem capabilities, or SELinux domain transition), the AT_SECURE flag is set. This causes certain blacklisted environment variables to be stripped before the process is executed. The list of blacklisted environment variables is stored in UNSAFE_VARIABLE_NAMES. Generally speaking, most environment variables used internally by libc show up in this list. Add ANDROID_DNS_MODE to the list of unsafe variables. Similar to RESOLV_HOST_CONF and RES_OPTIONS (which are already blacklisted), this variable controls how name resolution requests are handled. Allowing ANDROID_DNS_MODE to be set across a security boundary could induce resolution failures or otherwise impact name resolution. Remove BIONIC_DNSCACHE. This does not appear to be used, and setting this variable across a security boundary could cause name resolution problems. Test: Android compiles and runs with no obvious problems. Change-Id: I835a7b42d6afbc9c67866594c7951cfd9b355d81 |
||
---|---|---|
.. | ||
arch-arm | ||
arch-arm64 | ||
arch-common/bionic | ||
arch-mips | ||
arch-mips64 | ||
arch-x86 | ||
arch-x86_64 | ||
bionic | ||
dns | ||
include | ||
kernel | ||
malloc_debug | ||
private | ||
seccomp | ||
stdio | ||
stdlib | ||
tools | ||
tzcode | ||
upstream-freebsd | ||
upstream-netbsd | ||
upstream-openbsd | ||
versioner-dependencies | ||
zoneinfo | ||
Android.bp | ||
Android.mk | ||
fs_config_generator.py | ||
libc.arm.map | ||
libc.arm64.map | ||
libc.map.txt | ||
libc.mips.map | ||
libc.mips64.map | ||
libc.x86.map | ||
libc.x86_64.map | ||
libstdc++.arm.map | ||
libstdc++.arm64.map | ||
libstdc++.map.txt | ||
libstdc++.mips.map | ||
libstdc++.mips64.map | ||
libstdc++.x86.map | ||
libstdc++.x86_64.map | ||
MODULE_LICENSE_BSD | ||
NOTICE | ||
SECCOMP_WHITELIST.TXT | ||
SYSCALLS.TXT | ||
version_script.txt |