lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Wed, 3 Dec 2014 15:38:29 -0800
From:	Andy Lutomirski <luto@...capital.net>
To:	Andrew Morton <akpm@...ux-foundation.org>
Cc:	Richard Weinberger <richard@....at>,
	David Miller <davem@...emloft.net>,
	Thomas Gleixner <tglx@...utronix.de>,
	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
	linux-arch <linux-arch@...r.kernel.org>,
	Al Viro <viro@...iv.linux.org.uk>,
	richard -rw- weinberger <richard.weinberger@...il.com>,
	"H. Peter Anvin" <hpa@...or.com>, Ingo Molnar <mingo@...nel.org>,
	Kees Cook <keescook@...omium.org>
Subject: Re: [PATCH v2] all arches, signal: Move restart_block to struct task_struct

On Wed, Dec 3, 2014 at 3:37 PM, Andrew Morton <akpm@...ux-foundation.org> wrote:
> On Mon, 1 Dec 2014 06:55:01 -0800 Andy Lutomirski <luto@...capital.net> wrote:
>
>> On Tue, Nov 11, 2014 at 2:52 AM, Richard Weinberger <richard@....at> wrote:
>> > Am 11.11.2014 um 03:13 schrieb David Miller:
>> >> From: Andy Lutomirski <luto@...capital.net>
>> >> Date: Mon, 10 Nov 2014 14:03:23 -0800
>> >>
>> >>> On Wed, Oct 29, 2014 at 11:12 AM, Thomas Gleixner <tglx@...utronix.de> wrote:
>> >>>> On Wed, 29 Oct 2014, Andy Lutomirski wrote:
>> >>>>
>> >>>>> If an attacker can cause a controlled kernel stack overflow,
>> >>>>> overwriting the restart block is a very juicy exploit target.
>> >>>>> Moving the restart block to struct task_struct prevents this
>> >>>>> exploit.
>> >>>>>
>> >>>>> Note that there are other fields in thread_info that are also easy
>> >>>>> targets, at least on some architectures.
>> >>>>>
>> >>>>> It's also a decent simplification, since the restart code is more or
>> >>>>> less identical on all architectures.
>> >>>>
>> >>>> I think that's the most important change. Moving common stuff into
>> >>>> common code. The side effect of slightly reducing the attack surface
>> >>>> is nice, but as Al pointed out not really the big win here.
>> >>>
>> >>> Having gotten exactly zero feedback from any arch maintainer outside
>> >>> of x86, am I supposed to pester people further?
>> >>
>> >> No objections wrt. sparc and if things break I'll help fix it.
>> >
>> > Same for UML.
>> > Acked-by: Richard Weinberger <richard@....at>
>>
>> akpm, do you consider this appropriate for either 3.19 or 3.20?  If
>> so, can you add it to the appropriate part of -mm?
>
> Yes, I can grab it.  Probably for .20, as the lag times for exposing
> issues in obscures architectures are lengthy.
>
> One clarification:
>
> : If an attacker can cause a controlled kernel stack overflow,
> : overwriting the restart block is a very juicy exploit target.
>
> This is because the thread_info actually resides in the memory which
> was allocated for the kernel stack, yes?  Whereas the task_struct is
> separately allocated and is harder to find?

Yes, exactly.

>
> Spelling this out in the changelog would be useful for the ignorant and
> the forgetful ;)

Want a new version, or will you fix it up yourself?

Thanks,
Andy

>
> : Moving the restart block to struct task_struct prevents this
> : exploit.
>
>



-- 
Andy Lutomirski
AMA Capital Management, LLC
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ