Jürg Billeter <[email protected]> writes: > On Tue, 2017-10-03 at 12:40 -0500, Eric W. Biederman wrote: >> Jürg Billeter <[email protected]> writes: >> > What's actually the reason that CLONE_NEWPID requires CAP_SYS_ADMIN? >> > Does CLONE_NEWPID pose any risks that don't exist for >> > CLONE_NEWUSER|CLONE_NEWPID? Assuming we can't simply drop the >> > CAP_SYS_ADMIN requirement, do you see a better solution for this use >> > case? >> >> CLONE_NEWPID without a permission check would allow runing a setuid root >> application in a pid namespace. Off the top of my head I can't think of >> a really good exploit. But when you mess up pid files, and hide >> information from a privileged application I can completely imagine >> forcing that application to misbehave in ways the attacker can control. >> Leading to bad things. > > Could we allow unprivileged CLONE_NEWPID if the no_new_privs bit is > set?
We discussed this early on, and the decision was that no_new_privs would be kept simple and the user namespace would be what enabled additional functionality. Given how much of a challenge dealing with the additional attack surface of enabling additional functionality in the kernel I think that was the right call. That has been the difference between no_new_privs being done and user namespaces interesting since they have been merged. Eric

