Re: [PATCH] pty: make ptmx file ops read-only after init
From: Kees Cook
Date: Wed Sep 14 2016 - 12:17:54 EST
On Wed, Sep 14, 2016 at 7:04 AM, One Thousand Gnomes
<gnomes@xxxxxxxxxxxxxxxxxxx> wrote:
> On Wed, 14 Sep 2016 09:59:42 +0200
> Jiri Slaby <jslaby@xxxxxxx> wrote:
>
>> On 09/09/2016, 12:35 AM, Kees Cook wrote:
>> > The ptmx_fops structure is only changed during init, so mark it as such.
>>
>> Right, but I am missing what is the benefit? You would have to elaborate
>> here...
>
> The pages end up marked read only even to the kernel (and in future could
> even be marked read only forever when in kvm if we get suitable virtual
> machine extensions). That makes it much harder to patch those vectors
> when making security attacks.
Correct, this is a continuing effort to reduce the internal attack
surface of the kernel, where one of the most common exploitation
methods is overwriting function pointers.
Some examples of attacks and mitigations are here:
http://kernsec.org/wiki/index.php/Exploit_Methods/Function_pointer_overwrite
While this patch isn't a huge change, it's still a viable candidate. I
send these as I notice them, and hope that other folks will start to
see these opportunities and send more patches too. :)
-Kees
--
Kees Cook
Nexus Security