Re: [RFC PATCH v2 2/6] x86/arch_prctl: add ARCH_GET_NOPTI and ARCH_SET_NOPTI to enable/disable PTI

From: Ingo Molnar
Date: Wed Jan 10 2018 - 02:25:18 EST



* Borislav Petkov <bp@xxxxxxxxx> wrote:

> On Tue, Jan 09, 2018 at 01:26:57PM -0800, Andy Lutomirski wrote:
> > 2.Turning off PTI is, in general, a terrible idea. It totally breaks
> > any semblance of a security model on a Meltdown-affected CPU. So I
> > think we should require CAP_SYS_RAWIO *and* that the system is booted
> > with pti=allow_optout or something like that.
>
> Uhh, I like that.
>
> Maybe also taint the kernel ...

Tainting the kernel is really a bad idea: a CAP_SYS_RAWIO user _already_ has the
privilege to directly write to the hardware. The binary makes use of that
privilege to allow execution of ring 3 code that has the theoretical ability to
_read_ kernel memory.

Unless we plan on tainting all uses of /dev/mem as well this is totally over the
top.

We could taint the kernel and warn prominently in the syslog when PTI is disabled
globally on the boot line though, if running on affected CPUs.

Something like:

"x86/intel: Page Table Isolation (PTI) is disabled globally. This allows unprivileged, untrusted code to exploit the Meltdown CPU bug to read kernel data."

Thanks,

Ingo