On Thu, May 1, 2014 at 4:51 PM, Al Viro <viro@xxxxxxxxxxxxxxxxxx> wrote: > On Thu, May 01, 2014 at 04:00:49PM -0700, Andy Lutomirski wrote: >> On Thu, May 1, 2014 at 3:34 PM, Al Viro <viro@xxxxxxxxxxxxxxxxxx> wrote: >> > On Thu, May 01, 2014 at 03:20:00PM -0700, Andy Lutomirski wrote: >> >> Is it supposed to work? >> > >> > Why the hell not? Same as opening a device node on r/o filesystem for >> > write, or doing the same with FIFO. >> >> You can't bind a socket on a read-only fs, so I thought it was a fair question. >> >> I'll write a patch to add MS_NOIPCCONNECT and MNT_NOIPCCONNECT to >> block connect on unix sockets and open on fifos. This will be useful >> for sandboxes that want to prevent sandboxed programs from accessing >> undesirable parts of the outside world. > > Sigh... Don't expose those FIFOs et.al. to them, then. > mount --bind /dev/null <pathname> > as part of setting the sucker up. And if you *are* blindly exposing the > host filesystems to them wholesale, sockets and fifos are the least of your > problems, even if you do that read-only. Why? Suppose I bind-mount /usr into a private namespace with nosuid,nodev,ro. How can you use it to attack anything? The only thing I've thought of is to open fifos and connect to sockets. I'm assuming that there's a pid namespace blocking ptrace and such and a network namespace blocking abstract sockets. --Andy -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html