Re: [PATCH 1/1] file capabilities: remove cap_task_kill() (-git)

From: Serge E. Hallyn
Date: Wed Mar 19 2008 - 18:51:24 EST


Quoting Andrew Morton (akpm@xxxxxxxxxxxxxxxxxxxx):
> On Wed, 19 Mar 2008 11:56:35 -0500
> "Serge E. Hallyn" <serue@xxxxxxxxxx> wrote:
>
> > (resending once against -git. I had sent against -stable in
> > http://lkml.org/lkml/2008/2/28/225. Without this patch,
> > atd is broken at least on some distros.)
>
> So this fix is needed in 2.6.24.x?

Yes it is.

> > The original justification for cap_task_kill() was as follows:
> >
> > check_kill_permission() does appropriate uid equivalence checks.
> > However with file capabilities it becomes possible for an
> > unprivileged user to execute a file with file capabilities
> > resulting in a more privileged task with the same uid.
> >
> > However now that cap_task_kill() always returns 0 (permission
> > granted) when p->uid==current->uid, the whole hook is worthless,
> > and only likely to create more subtle problems in the corner cases
> > where it might still be called but return -EPERM. Those cases
> > are basically when uids are different but euid/suid is equivalent
> > as per the check in check_kill_permission().
> >
> > One example of a still-broken application is 'at' for non-root users.
>
> This 2.6.25-rc6 patch doesn't apply correctly to 2.6.24. I can't find a
> *formal* copy of your 2.6.24 patch on stable@xxxxxxxxxx, so perhaps a
> resend for -stable is in order.

Argh, yes, will do. Thanks.

-serge
--
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/