[Fedora 15/19] kexec: Export sysfs attributes for secureboot and secure modules to user space
Vivek Goyal
vgoyal at redhat.com
Thu Sep 5 19:08:31 UTC 2013
On Thu, Sep 05, 2013 at 01:39:26PM -0400, Vivek Goyal wrote:
> On Thu, Sep 05, 2013 at 10:47:15AM -0400, Vivek Goyal wrote:
> > On Thu, Sep 05, 2013 at 02:40:39PM +0000, Matthew Garrett wrote:
> > > On Wed, 2013-09-04 at 20:49 -0400, Vivek Goyal wrote:
> > >
> > > > I did what Eric Biederman suggested. I first unshare the mount namespace
> > > > of /sbin/kexec from parent. Then I disable any event propogation between
> > > > mounts. Then I lazy unmount existing /proc and /sys and remount them. I
> > > > think this should make sure that we are seeing at /proc and /sys as
> > > > exported by kenrel?
> > >
> > > Namespaces have mostly been used with the assumption that namespaces
> > > contain child processes, rather than parent processes attacking
> > > children. Are we guaranteed that (barring ptrace) a parent process is
> > > unable to manipulate a child's namespaces?
> >
> > This is a good question and I don't know enough about namespaces to
> > be able to answer it.
> >
> > I am CCing Eric Biederman and he should have an Idea.
> >
> > Eric,
> >
> > So this is in context of kdump an secureboot. We were discussing to be
> > able to create a private mount namespace for /sbin/kexec and remount
> > /proc/ and /sys so that /sbin/kexec is sure that it is looking at
> > something as exported by kernel.
> >
> > Is it possible for unsigned parent to now maninpulate child /sbin/kexec
> > mount namespace now?
>
> I am not an expert in this area. I am reading following two articles.
>
> http://man7.org/linux/man-pages/man2/mount.2.html
> http://www.ibm.com/developerworks/linux/library/l-mount-namespaces/index.html
>
> I think once we did unshare() child got its own mount name space and
> after that we converted it into a private mount point. I think that
> will ensure that no mount events are propagated from parent to child
> and vice-a-versa. I doubt that now there is any way a parent can
> modify child's mount namespace.
I asked this question to Al Viro. And he thinks it should be fine. He
mentioned though that make sure /proc and /sys are not symlinks. Otherwise
after I have remounted /proc, root could remove /proc symlink and replace
with directory of his choice and fake proc files in that dir.
He did mention that a new mount option to *not follow symlink* might
make sense. Initially I thought I can do stat(/proc) and if it is not
symlink then mount /proc. But I think it is racy as root could replace
/proc in between the symlink check and mount operation.
I will see if I can write a patch to introduce new mount option.
Thanks
Vivek
More information about the kernel
mailing list