Skip to content
Commit e5745764 authored by Tejun Heo's avatar Tejun Heo
Browse files

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

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>
parent 0d2b5955
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