Re: [PATCH 2/2] Yama: add PTRACE exception tracking

From: Serge E. Hallyn
Date: Wed Jun 30 2010 - 08:39:30 EST


Quoting Kees Cook (kees.cook@xxxxxxxxxxxxx):
> Hi Serge,
>
> On Tue, Jun 29, 2010 at 10:56:09PM -0500, Serge E. Hallyn wrote:
> > Quoting Kees Cook (kees.cook@xxxxxxxxxxxxx):
> > > Some application suites have external crash handlers that depend on
> > > being able to use PTRACE to generate crash reports (KDE, Chromium, etc).
> > > Since the inferior process generally knows the PID of the debugger,
> > > it can use PR_SET_PTRACER to allow a specific PID and its descendants
> > > to perform the PTRACE instead of only a direct ancestor.
> > >
> > > Signed-off-by: Kees Cook <kees.cook@xxxxxxxxxxxxx>
> > > ---
> >
> > Hi Kees - very nice, overall. One little note though:
>
> Thanks for looking it over!
>
> > > rc = cap_ptrace_access_check(child, mode);
> >
> > This means that if capable(CAP_SYS_PTRACE) we'll always shortcut
> > here, so
> >
> > > + if (mode == PTRACE_MODE_ATTACH &&
> > > + ptrace_scope &&
> > > + !capable(CAP_SYS_PTRACE) &&
> > > + !task_is_descendant(current, child) &&
> > > + !ptracer_exception_found(current, child))
> > > + rc = -EPERM;
> >
> > You don't need the CAP_SYS_PTRACE check here AFAICS.
>
> I don't think that's true -- the capable(CAP_SYS_PTRACE) tests
> are always done in the negative since we only ever abort with error

Haha, you're right, I looked at that wrong :)

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