Re: [SECURITY] /proc/$pid/ leaks contents across setuid exec

James Morris
2011-02-10T02:45:10Z

On Tue, 8 Feb 2011, Eric W. Biederman wrote:

> Kees Cook <kees.cook@canonical.com> writes:
>
> > On Tue, Feb 08, 2011 at 02:43:15PM +1100, James Morris wrote:

> >> > I don't think /proc/$pid/* needs to stay open across execs, does it? Or at
> >> > least the non-0444 files should be handled separately.
> >>
> >> Actually, this seems like a more general kind of bug in proc rather than a
> >> leaked fd. Each child task should only see its own /proc/[pid] data.
> >
> > Right, that's precisely the problem. The unprivileged process can read
> > the setuid process's /proc files.
>
> If these are things that we actually care about we should sprinkle in a
> few more ptrace_may_access calls into implementations of the relevant
> proc files.

This seems to be papering over a bug.

It is plainly broken to return an access error to a task which is
legitimately accessing a file. The task should not receive the wrong
information from /proc/[pid]/* .

- James
--
James Morris
<jmorris@namei.org>