2014-04-15 12:09:06

by Djalal Harouni

[permalink] [raw]
Subject: Re: [PATCH v2 1/2] procfs: make /proc/*/{stack,syscall,personality} 0400

On Fri, Mar 28, 2014 at 03:32:31PM -0700, Andrew Morton wrote:
> On Sat, 22 Mar 2014 14:37:39 +0100 Djalal Harouni <[email protected]> wrote:
>
> > These procfs files contain sensitive information and currently their
> > mode is 0444. Change this to 0400, so the VFS will be able to block
> > unprivileged processes from getting file descriptors on arbitrary
> > privileged /proc/*/{stack,syscall,personality} files.
> >
> > This reduces the scope of ASLR leaking and bypasses by protecting
> > already running processes.
>
> Sigh. Why on earth did we make these 444 in the first place.
>
> There is risk of breakage here. Probably anyone who is using these
> files and who observes such breakage is a sophisticated user who
> understands the reasons and knows how to make the tools work again.
> There's only one way to find out :(
>
> I can't remember why we even added /proc/pid/syscall - the changelog
> doesn't give a rationale (this is regrettably common).
Yep :-/

Ok, thank you for taking the patches!

Just to update the tread, Alexey Dobriyan suggested that we also improve
/proc/*/wchan

I'll do it by caching the ptrace check during open time, and re-check it
in proc_pid_wchan() only in case we return an address, this way we do not
break tools. Will add it to the patches I've and send it soon (didn't
want to disturb you during the merge window).

Thanks!

--
Djalal Harouni
http://opendz.org