Re: [PATCH 2/2] user namespaces: require cap_set{ug}id for CLONE_NEWUSER

From: Eric W. Biederman
Date: Fri Dec 05 2008 - 12:16:43 EST


"Serge E. Hallyn" <serue@xxxxxxxxxx> writes:

> While ideally CLONE_NEWUSER will eventually require no
> privilege, the required permission checks are currently
> not there. As a result, CLONE_NEWUSER has the same effect
> as a setuid(0)+setgroups(1,"0"). While we already require
> CAP_SYS_ADMIN, requiring CAP_SETUID and CAP_SETGID seems
> appropriate.

Acked-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>

The patch looks good, and we are likely to need more caps to
actually use it.

>
> Signed-off-by: Serge E. Hallyn <serue@xxxxxxxxxx>
> ---
> kernel/fork.c | 3 ++-
> 1 files changed, 2 insertions(+), 1 deletions(-)
>
> diff --git a/kernel/fork.c b/kernel/fork.c
> index 1dd8945..e3a85b3 100644
> --- a/kernel/fork.c
> +++ b/kernel/fork.c
> @@ -1344,7 +1344,8 @@ long do_fork(unsigned long clone_flags,
> /* hopefully this check will go away when userns support is
> * complete
> */
> - if (!capable(CAP_SYS_ADMIN))
> + if (!capable(CAP_SYS_ADMIN) || !capable(CAP_SETUID) ||
> + !capable(CAP_SETGID))
> return -EPERM;
> }
>
> --
> 1.5.4.3
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/