Re: [PATCH v2 0/9] procfs: protect /proc/<pid>/* files with file->f_cred

From: Andy Lutomirski
Date: Tue Oct 01 2013 - 21:40:50 EST


On 10/01/2013 01:26 PM, Djalal Harouni wrote:
> /proc/<pid>/* entries varies at runtime, appropriate permission checks
> need to happen during each system call.
>
> Currently some of these sensitive entries are protected by performing
> the ptrace_may_access() check. However even with that the /proc file
> descriptors can be passed to a more privileged process
> (e.g. a suid-exec) which will pass the classic ptrace_may_access()
> check. In general the ->open() call will be issued by an unprivileged
> process while the ->read(),->write() calls by a more privileged one.
>
> Example of these files are:
> /proc/*/syscall, /proc/*/stack etc.
>
> And any open(/proc/self/*) then suid-exec to read()/write() /proc/self/*
>
>
> These files are protected during read() by the ptrace_may_access(),
> however the file descriptor can be passed to a suid-exec which can be
> used to read data and bypass ASLR. Of course this was discussed several
> times on LKML.

Can you elaborate on what it is that you're fixing? That is, can you
give a concrete example of what process opens what file and passes the
fd to what process?

I'm having trouble following your description.

--Andy

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