On Tue, Oct 07, 2014 at 02:30:40PM +0100, Al Viro wrote:
On Tue, Oct 07, 2014 at 04:12:57PM +0400, Andrey Vagin wrote:
quoted
Another problem is that rootfs can't be hidden from a container, because
rootfs can't be moved or umounted.
... which is a bug in mntns_install(), AFAICS.
Ability to get to exposed rootfs, that is.
quoted
Here is an example how to get access to rootfs:
fd = open("/proc/self/ns/mnt", O_RDONLY)
umount2("/", MNT_DETACH);
setns(fd, CLONE_NEWNS)
rootfs may contain data, which should not be avaliable in CT-s.
Indeed.
... and it looks like the above is what your mangled reproducer in previous
patch had been made of -
fd = open("/proc/self/ns/mnt", O_RDONLY)
umount2("/", MNT_DETACH);
setns(fd, CLONE_NEWNS)
umount2("/", MNT_DETACH);
IMO what it shows is setns() bug. This "switch root/cwd, no matter what"
is wrong.