Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1483070 > unrolled thread

Re: [PATCH] pty: make ptmx file ops read-only after init

Started byJiri Slaby <jslaby@suse.cz>
First post2016-09-14 10:00 +0200
Last post2016-09-21 11:50 +0200
Articles 4 — 3 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [PATCH] pty: make ptmx file ops read-only after init Jiri Slaby <jslaby@suse.cz> - 2016-09-14 10:00 +0200
    Re: [PATCH] pty: make ptmx file ops read-only after init One Thousand Gnomes <gnomes@lxorguk.ukuu.org.uk> - 2016-09-14 16:10 +0200
      Re: [PATCH] pty: make ptmx file ops read-only after init Kees Cook <keescook@chromium.org> - 2016-09-14 18:20 +0200
        Re: [PATCH] pty: make ptmx file ops read-only after init Jiri Slaby <jslaby@suse.cz> - 2016-09-21 11:50 +0200

#1483070 — Re: [PATCH] pty: make ptmx file ops read-only after init

FromJiri Slaby <jslaby@suse.cz>
Date2016-09-14 10:00 +0200
SubjectRe: [PATCH] pty: make ptmx file ops read-only after init
Message-ID<shdgT-6sF-61@gated-at.bofh.it>

[Multipart message — attachments visible in raw view] — view raw

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...

> Signed-off-by: Kees Cook <keescook@chromium.org>
> ---
>  drivers/tty/pty.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/tty/pty.c b/drivers/tty/pty.c
> index 51e0d32883ba..a23fa5ed1d67 100644
> --- a/drivers/tty/pty.c
> +++ b/drivers/tty/pty.c
> @@ -800,7 +800,7 @@ out_free_file:
>  	return retval;
>  }
>  
> -static struct file_operations ptmx_fops;
> +static struct file_operations ptmx_fops __ro_after_init;
>  
>  static void __init unix98_pty_init(void)
>  {
> 

thanks,
-- 
js
suse labs

[toc] | [next] | [standalone]


#1483346

FromOne Thousand Gnomes <gnomes@lxorguk.ukuu.org.uk>
Date2016-09-14 16:10 +0200
Message-ID<shj2W-1R7-29@gated-at.bofh.it>
In reply to#1483070
On Wed, 14 Sep 2016 09:59:42 +0200
Jiri Slaby <jslaby@suse.cz> 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.

[toc] | [prev] | [next] | [standalone]


#1483460

FromKees Cook <keescook@chromium.org>
Date2016-09-14 18:20 +0200
Message-ID<shl4J-36P-13@gated-at.bofh.it>
In reply to#1483346
On Wed, Sep 14, 2016 at 7:04 AM, One Thousand Gnomes
<gnomes@lxorguk.ukuu.org.uk> wrote:
> On Wed, 14 Sep 2016 09:59:42 +0200
> Jiri Slaby <jslaby@suse.cz> 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

[toc] | [prev] | [next] | [standalone]


#1487957

FromJiri Slaby <jslaby@suse.cz>
Date2016-09-21 11:50 +0200
Message-ID<sjMk9-7il-9@gated-at.bofh.it>
In reply to#1483460
On 09/14/2016, 06:17 PM, Kees Cook wrote:
> 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. :)

I didn't object to the patch. I could imagine the use case. But putting
the idea to the commit message would have made it clear.

thanks,
-- 
js
suse labs

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web