2008-02-20 16:33:29

by Serge E. Hallyn

[permalink] [raw]
Subject: [PATCH 1/1] file capabilities: simplify signal check

>From bd076c7245d02be0cc01b7c09bd7170ec5946492 Mon Sep 17 00:00:00 2001
From: Serge E. Hallyn <[email protected]>
Date: Sun, 17 Feb 2008 20:28:07 -0500
Subject: [PATCH 1/1] file capabilities: simplify signal check

Simplify the uid equivalence check in cap_task_kill(). Anyone
can kill a process owned by the same uid.

Without this patch wireshark is reported to fail.

Signed-off-by: Serge E. Hallyn <[email protected]>
Signed-off-by: Andrew G. Morgan <[email protected]>
---
security/commoncap.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/security/commoncap.c b/security/commoncap.c
index 5aba826..bb0c095 100644
--- a/security/commoncap.c
+++ b/security/commoncap.c
@@ -552,7 +552,7 @@ int cap_task_kill(struct task_struct *p, struct siginfo *info,
* allowed.
* We must preserve legacy signal behavior in this case.
*/
- if (p->euid == 0 && p->uid == current->uid)
+ if (p->uid == current->uid)
return 0;

/* sigcont is permitted within same session */
--
1.5.1.1.GIT


2008-02-23 08:05:59

by Andrew Morton

[permalink] [raw]
Subject: Re: [PATCH 1/1] file capabilities: simplify signal check

On Wed, 20 Feb 2008 10:15:50 -0600 "Serge E. Hallyn" <[email protected]> wrote:

> >From bd076c7245d02be0cc01b7c09bd7170ec5946492 Mon Sep 17 00:00:00 2001
> From: Serge E. Hallyn <[email protected]>
> Date: Sun, 17 Feb 2008 20:28:07 -0500
> Subject: [PATCH 1/1] file capabilities: simplify signal check
>
> Simplify the uid equivalence check in cap_task_kill(). Anyone
> can kill a process owned by the same uid.
>
> Without this patch wireshark is reported to fail.

Strange that a patch titled "simplify...." actually fixes a bug.

> Signed-off-by: Serge E. Hallyn <[email protected]>
> Signed-off-by: Andrew G. Morgan <[email protected]>
> ---
> security/commoncap.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/security/commoncap.c b/security/commoncap.c
> index 5aba826..bb0c095 100644
> --- a/security/commoncap.c
> +++ b/security/commoncap.c
> @@ -552,7 +552,7 @@ int cap_task_kill(struct task_struct *p, struct siginfo *info,
> * allowed.
> * We must preserve legacy signal behavior in this case.
> */
> - if (p->euid == 0 && p->uid == current->uid)
> + if (p->uid == current->uid)
> return 0;
>
> /* sigcont is permitted within same session */

I've marked this as needed-in-2.6.24. Was that appropriate?

2008-02-23 15:37:39

by Serge E. Hallyn

[permalink] [raw]
Subject: Re: [PATCH 1/1] file capabilities: simplify signal check

Quoting Andrew Morton ([email protected]):
> On Wed, 20 Feb 2008 10:15:50 -0600 "Serge E. Hallyn" <[email protected]> wrote:
>
> > >From bd076c7245d02be0cc01b7c09bd7170ec5946492 Mon Sep 17 00:00:00 2001
> > From: Serge E. Hallyn <[email protected]>
> > Date: Sun, 17 Feb 2008 20:28:07 -0500
> > Subject: [PATCH 1/1] file capabilities: simplify signal check
> >
> > Simplify the uid equivalence check in cap_task_kill(). Anyone
> > can kill a process owned by the same uid.
> >
> > Without this patch wireshark is reported to fail.
>
> Strange that a patch titled "simplify...." actually fixes a bug.

Sorry. Yeah that's a bad subject.

> > Signed-off-by: Serge E. Hallyn <[email protected]>
> > Signed-off-by: Andrew G. Morgan <[email protected]>
> > ---
> > security/commoncap.c | 2 +-
> > 1 files changed, 1 insertions(+), 1 deletions(-)
> >
> > diff --git a/security/commoncap.c b/security/commoncap.c
> > index 5aba826..bb0c095 100644
> > --- a/security/commoncap.c
> > +++ b/security/commoncap.c
> > @@ -552,7 +552,7 @@ int cap_task_kill(struct task_struct *p, struct siginfo *info,
> > * allowed.
> > * We must preserve legacy signal behavior in this case.
> > */
> > - if (p->euid == 0 && p->uid == current->uid)
> > + if (p->uid == current->uid)
> > return 0;
> >
> > /* sigcont is permitted within same session */
>
> I've marked this as needed-in-2.6.24. Was that appropriate?

Yes, thanks. I doubt wireshark is the only thing that'll break
otherwise.

thanks,
-serge