linux-xiaomi-chiron/kernel
Eric W. Biederman 80dd00a237 userns: Check euid no fsuid when establishing an unprivileged uid mapping
setresuid allows the euid to be set to any of uid, euid, suid, and
fsuid.  Therefor it is safe to allow an unprivileged user to map
their euid and use CAP_SETUID privileged with exactly that uid,
as no new credentials can be obtained.

I can not find a combination of existing system calls that allows setting
uid, euid, suid, and fsuid from the fsuid making the previous use
of fsuid for allowing unprivileged mappings a bug.

This is part of a fix for CVE-2014-8989.

Cc: stable@vger.kernel.org
Reviewed-by: Andy Lutomirski <luto@amacapital.net>
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
2014-12-09 17:08:32 -06:00
..
bpf
configs
debug
events uprobes, x86: Fix _TIF_UPROBE vs _TIF_NOTIFY_RESUME 2014-11-23 14:25:28 -08:00
gcov
irq
locking
power PM / sleep: Fix entering suspend-to-IDLE if no freeze_oops is set 2014-11-08 22:30:05 +01:00
printk
rcu
sched sched: Provide update_curr callbacks for stop/idle scheduling classes 2014-11-23 14:14:40 -08:00
time sched/cputime: Fix cpu_timer_sample_group() double accounting 2014-11-16 10:04:18 +01:00
trace tracing: Do not risk busy looping in buffer splice 2014-11-10 16:47:31 -05:00
.gitignore
acct.c
async.c
audit.c Merge branch 'stable-3.18' of git://git.infradead.org/users/pcmoore/audit 2014-11-13 09:36:39 -08:00
audit.h
audit_tree.c audit: keep inode pinned 2014-11-11 14:20:22 -05:00
audit_watch.c
auditfilter.c
auditsc.c
backtracetest.c
bounds.c
capability.c
cgroup.c
cgroup_freezer.c
compat.c
configs.c
context_tracking.c
cpu.c
cpu_pm.c
cpuset.c
crash_dump.c
cred.c
delayacct.c
dma.c
elfcore.c
exec_domain.c
exit.c
extable.c
fork.c
freezer.c
futex.c
futex_compat.c
groups.c userns: Don't allow setgroups until a gid mapping has been setablished 2014-12-09 16:58:40 -06:00
hung_task.c
irq_work.c
jump_label.c
kallsyms.c
kcmp.c
Kconfig.freezer
Kconfig.hz
Kconfig.locks
Kconfig.preempt
kexec.c
kmod.c
kprobes.c
ksysfs.c
kthread.c
latencytop.c
Makefile
module-internal.h
module.c
module_signing.c
notifier.c
nsproxy.c
padata.c
panic.c kernel/panic.c: update comments for print_tainted 2014-11-13 16:17:06 -08:00
params.c
pid.c
pid_namespace.c
profile.c
ptrace.c
range.c
reboot.c
relay.c
res_counter.c
resource.c
seccomp.c
signal.c
smp.c
smpboot.c
smpboot.h
softirq.c
stacktrace.c
stop_machine.c
sys.c
sys_ni.c
sysctl.c
sysctl_binary.c
system_certificates.S
system_keyring.c
task_work.c
taskstats.c
test_kprobes.c
torture.c
tracepoint.c
tsacct.c
uid16.c groups: Consolidate the setgroups permission checks 2014-12-05 17:19:27 -06:00
up.c
user-return-notifier.c
user.c
user_namespace.c userns: Check euid no fsuid when establishing an unprivileged uid mapping 2014-12-09 17:08:32 -06:00
utsname.c
utsname_sysctl.c
watchdog.c
workqueue.c
workqueue_internal.h