Re: [PATCH 2/2] debugfs: only allow root access to debugging interfaces

Kees Cook
2011-02-22T20:29:45Z

On Tue, Feb 22, 2011 at 12:16:10PM -0800, Greg KH wrote:
> On Tue, Feb 22, 2011 at 11:50:18AM -0800, Kees Cook wrote:
> > On Tue, Feb 22, 2011 at 07:34:18PM +0000, Alan Cox wrote:
> > > > What system do you proposed to keep these "stupid mistakes" from
> > > > continuing to happen? If debugfs had already been mode 0700, we could have
> > > > avoided all of these CVEs, including the full-blown local root escalation.
> > >
> > > And all sorts of features would have put themselves in sysfs instead and
> > > broken no doubt.
> > >
> > > > The "no rules" approach to debugfs is not a good idea, IMO.
> > >
> > > It's a debugging fs, it needs to be "no rules" other than the obvious
> > > "don't mount it on production systems"
> >
> > Okay, so the debugfs is not supposed to be mounted on a production system.
>
> No, not true at all, the "enterprise" distros all mount debugfs for good
> reason on their systems.

What reasons are those? Or better yet, why do you and Alan Cox disagree on
this point?

> > This seems to be news to a lot of developers trying to use the interfaces
> > exposed there. It would be nice to say this more loudly. Basically,
> > a normal system should not depend on anything in the debugfs. I can get
> > behind that.
>
> Again, not true. Mostly all due to the perf interface, fix that to move
> out of debugfs (patches have been proposed) and this problem will go
> away.

You can't have "no rules" and "all distros mount debugfs for good reason".
This is asking for (even more) trouble. If there is something universally
useful in debugfs (I do not count perf as universally useful -- my parents
do not use perf), then why is it living in a filesystem with no rules
(where "no rules" seems to also include "don't break interfaces").

-Kees

--
Kees Cook
Ubuntu Security Team