Skip to content
Commit 824a950c authored by Tejun Heo's avatar Tejun Heo Committed by Greg Kroah-Hartman
Browse files

cgroup: Use open-time cgroup namespace for process migration perm checks

commit e5745764 upstream.

cgroup process migration permission checks are performed at write time as
whether a given operation is allowed or not is dependent on the content of
the write - the PID. This currently uses current's cgroup namespace which is
a potential security weakness as it may allow scenarios where a less
privileged process tricks a more privileged one into writing into a fd that
it created.

This patch makes cgroup remember the cgroup namespace at the time of open
and uses it for migration permission checks instad of current's. Note that
this only applies to cgroup2 as cgroup1 doesn't have namespace support.

This also fixes a use-after-free bug on cgroupns reported in

 https://lore.kernel.org/r/00000000000048c15c05d0083397@google.com



Note that backporting this fix also requires the preceding patch.

Reported-by: default avatar"Eric W. Biederman" <ebiederm@xmission.com>
Suggested-by: default avatarLinus Torvalds <torvalds@linuxfoundation.org>
Cc: Michal Koutný <mkoutny@suse.com>
Cc: Oleg Nesterov <oleg@redhat.com>
Reviewed-by: default avatarMichal Koutný <mkoutny@suse.com>
Reported-by: default avatar <syzbot+50f5cf33a284ce738b62@syzkaller.appspotmail.com>
Link: https://lore.kernel.org/r/00000000000048c15c05d0083397@google.com


Fixes: 5136f636 ("cgroup: implement "nsdelegate" mount option")
Signed-off-by: default avatarTejun Heo <tj@kernel.org>
[mkoutny: v5.10: duplicate ns check in procs/threads write handler, adjust context]
Signed-off-by: default avatarMichal Koutný <mkoutny@suse.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent f28364fe
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment