[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20080904233240.GB9995@us.ibm.com>
Date: Thu, 4 Sep 2008 18:32:40 -0500
From: "Serge E. Hallyn" <serue@...ibm.com>
To: Miklos Szeredi <miklos@...redi.hu>
Cc: ebiederm@...ssion.com, akpm@...ux-foundation.org,
hch@...radead.org, viro@...IV.linux.org.uk,
linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: unprivileged mounts git tree
Quoting Miklos Szeredi (miklos@...redi.hu):
> On Thu, 4 Sep 2008, Serge E. Hallyn wrote:
> > We still have the original problem.
> >
> > When root does
> >
> > mount -bind /mnt /mnt
> > mount --make-rshared /mnt
> > mount --bind -o user=hallyn /mnt /home/hallyn/mnt
> >
> > and hallyn does
> >
> > mount --bind /usr /home/hallyn/mnt/usr
> >
> > then the kernel happily propagates the mount to /mnt/usr.
>
> Obviously, and that's exactly what root _instructed_ in the last step.
> If it's a security problem, root shouldn't do that.
>
> Your original bug report correctly pointed out the real security
> problem:
>
> | as root:
> | mmount --bind -o user=500 /home/hallyn/etc/ /home/hallyn/etc/
> | mount --bind /mnt /mnt
> | mount --make-rshared /mnt
> | mount --bind /dev /mnt/dev
> |
> | as hallyn:
> | mmount --bind /mnt /home/hallyn/etc/mnt
> | /usr/src/mmount-0.3/mmount --bind mnt/dev mnt/src
>
> Here root does nothing "unsafe", yet the user can get propagation back
> into /mnt, due to the fact that a bind mount makes the new mount part
> of the old peer group. This is the security hole that is fixed, and
> AFAICS the only security hole related to propagation vs. user mounts.
>
> (I'm going to be offline tomorrow and the weekend, but will hopefully
> have email access next week).
>
> Thanks,
> Miklos
(&(*$&%, you're right, of course.
Ok, will play with it a bit more, but I think it'd be *great* to see
this show up in -mm again.
-serge
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists