> Does anyone see a better way to let users continue to be users while> protecting most people? Yes SELinux is stronger in some areas than> without confining the ability to map the 0 page, but as has be rightly> pointed out it's foolish an broken that SELinux can weaken any> protections.

I haven't seen a better idea so far.

I strongly believe that we need to maintain the principle, in SELinux and LSM generally, that the interface is restrictive, i.e. that it can only further restrict access. It should be impossible, from a design point of view at least, for any LSM module to authorize more privilege than standard DAC. This has always been a specific design goal of LSM. (The capability module is an exception, as it has a fixed security policy and implements legacy DAC behavior; there's no way to "fix" this).

In this case, we're not dealing with a standard form of access control, where access to a userland object is being mediated. We're trying to mediate the ability of a subject to bypass a separate mechanism which aims to protect the kernel itself from attack via a more fundamental system flaw. The LSM module didn't create that vulnerability directly, but it must not allow the vulnerability to be more easily exploited.

The security policy writer should have a guarantee that the worst mistake they can make is to mess up their own security model; if they can mess up the base DAC security with MAC policy, we break that guarantee. There's also an issue of user confidence in the LSM modules, in that they should not be any worse off security-wise if they enable an enhanced protection mechanism.

This does not account for kernel bugs in the LSM modules themselves, obviously, but the same can be said for any kernel code, albeit with less irony.