Messages in this thread | | | Date | Wed, 19 Mar 2008 16:20:07 -0500 | From | "Serge E. Hallyn" <> | Subject | Re: [PATCH 1/1] file capabilities: remove cap_task_kill() (-git) |
| |
Quoting Andrew Morton (akpm@linux-foundation.org): > On Wed, 19 Mar 2008 11:56:35 -0500 > "Serge E. Hallyn" <serue@us.ibm.com> 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@kernel.org, so perhaps a > resend for -stable is in order.
Argh, yes, will do. Thanks.
-serge
| |