Why do we block context="foobar" from User Namespace

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Currently in SELinux and UserNamespace can not be enabled with Docker/runc at the same time.

Runc mounts tmpfs directories with --context="system_u:object_r:container_file_t:s0:c1,c2" type labels
but the following patch blocks the use of context mounts when using user namespace.

http://kernel.suse.com/cgit/kernel/commit/?id=aad82892af261b9903cc11c55be3ecf5f0b0b4f8

User Namespace has to be established before tmpfs are mounted so we are unable to mount a
tmpfs with a context=flag and UserNamespace enabled.

Controlling the ability to change the label of a mounted file systemd should be a MAC decision not a DAC, 
or UserNamespace. Setting the SELinux labels on an object like a file system mount point
should be controlled by SELinux.  SELinux should check if the label of the process doing the
mount is able to relabel from the label of the mount point, and labelto the specified label.

SELinux does this for privileged processes (running with SYS_ADMIN) so use namespace should not be
any different.  Also the process doing the mount would be allowed by DAC to set the label of the tmpfs after
it is mounted (As long as SELinux allowed).

There is no security difference between:

mount -o tmpfs context="foobar" none /dev


And

mount -o tmpfs none /dev

chcon foobar -R /dev


The second would not be blocked by usernamespace.  

Bottom line this patch should be reverted so container runtimes like docker can use both User Namespace
and SELinux at the same time.

 



_______________________________________________
Selinux mailing list
Selinux@xxxxxxxxxxxxx
To unsubscribe, send email to Selinux-leave@xxxxxxxxxxxxx.
To get help, send an email containing "help" to Selinux-request@xxxxxxxxxxxxx.

[Index of Archives]     [Selinux Refpolicy]     [Linux SGX]     [Fedora Users]     [Fedora Desktop]     [Yosemite Photos]     [Yosemite Camping]     [Yosemite Campsites]     [KDE Users]     [Gnome Users]

  Powered by Linux