Re: [RESEND PATCH] prctl: add PR_[GS]ET_PDEATHSIG_PROC

Eric W. Biederman
2017-10-03T19:06:00Z

Jürg Billeter <j@bitron.ch> writes:

> On Tue, 2017-10-03 at 12:40 -0500, Eric W. Biederman wrote:
>> Jürg Billeter <j@bitron.ch> 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