linux-api.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Daniel Micay <danielmicay-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: Al Viro <viro-3bDd1+5oDREiFSDQTTA3OLVCufUGDwFn@public.gmane.org>,
	Russell King - ARM Linux
	<linux-I+IVW8TIWO2tmTQ+vhA3Yw@public.gmane.org>
Cc: "Kees Cook" <keescook-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>,
	"Linus Torvalds"
	<torvalds-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>,
	"Mark Rutland" <mark.rutland-5wv7dgnIgG8@public.gmane.org>,
	"Kernel Hardening"
	<kernel-hardening-ZwoEplunGu1jrUoiu81ncdBPR1lH4CV8@public.gmane.org>,
	"Greg KH" <greg-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>,
	"Heiko Carstens"
	<heiko.carstens-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org>,
	LKML <linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	"David Howells"
	<dhowells-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
	"Dave Hansen"
	<dave.hansen-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	"H . Peter Anvin" <hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>,
	"Ingo Molnar" <mingo-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	"Pavel Tikhomirov"
	<ptikhomirov-5HdwGun5lf+gSpxsJD1C4w@public.gmane.org>,
	linux-s390 <linux-s390-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	"the arch/x86 maintainers"
	<x86-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	"Will Deacon" <will.deacon-5wv7dgnIgG8@public.gmane.org>,
	"Christian Borntraeger"
	<borntraeger-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org>,
	"René Nyffenegger"
	<mail-gLCNRsNSrVdVZEhyV+6z5nIPMjoJpjVV@public.gmane.org>,
	"Catalin Marinas" <catalin.marinas-5wv7dgnIgG8@public.gmane.org>
Subject: Re: [kernel-hardening] Re: [PATCH v9 1/4] syscalls: Verify address limit before returning to user-mode
Date: Fri, 12 May 2017 17:16:44 -0400	[thread overview]
Message-ID: <1494623804.4521.2.camel@gmail.com> (raw)
In-Reply-To: <20170512210645.GS390-3bDd1+5oDREiFSDQTTA3OLVCufUGDwFn@public.gmane.org>

On Fri, 2017-05-12 at 22:06 +0100, Al Viro wrote:
> On Fri, May 12, 2017 at 09:21:06PM +0100, Russell King - ARM Linux
> wrote:
> > On Fri, May 12, 2017 at 12:30:02PM -0700, Kees Cook wrote:
> > > I'm clearly not explaining things well enough. I shouldn't say
> > > "corruption", I should say "malicious manipulation". The
> > > methodology
> > > of attacks against the stack are quite different from the other
> > > kinds
> > > of attacks like use-after-free, heap overflow, etc. Being able to
> > > exhaust the kernel stack (either due to deep recursion or
> > > unbounded
> > > alloca())
> > 
> > I really hope we don't have alloca() use in the kernel.  Do you have
> > evidence to support that assertion?
> > 
> > IMHO alloca() (or similar) should not be present in any kernel code
> > because we have a limited stack - we have kmalloc() etc for that
> > kind
> > of thing.
> 
> No alloca(), but there are VLAs.  Said that, the whole "what if they
> can bugger thread_info and/or task_struct and go after set_fs() state"
> is idiocy, of course - in that case the box is fucked, no matter what.

VMAP_STACK + -fstack-check would prevent exploiting even an unbounded
VLA / alloca size vs. it being an arbitrary write. -fstack-check
guarantees that there's one byte per page as the stack grows, although
there are some unfortunate GCC bugs making it less than perfect right
now... but they recently started caring about it more including making
it near zero overhead as it was always supposed to be.

  parent reply	other threads:[~2017-05-12 21:16 UTC|newest]

Thread overview: 89+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-28 15:32 [PATCH v9 1/4] syscalls: Verify address limit before returning to user-mode Thomas Garnier
     [not found] ` <20170428153213.137279-1-thgarnie-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2017-04-28 15:32   ` [PATCH v9 2/4] x86/syscalls: Optimize address limit check Thomas Garnier
2017-05-05 22:18   ` [PATCH v9 1/4] syscalls: Verify address limit before returning to user-mode Thomas Garnier
     [not found]     ` <CAJcbSZGQsRVg3QZ9QfLn2HBC+RP-7fUTab0bYDJ455d8y8GyNw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-05-08  7:33       ` Ingo Molnar
     [not found]         ` <20170508073352.caqe3fqf7nuxypgi-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-05-08  7:52           ` Ingo Molnar
     [not found]             ` <20170508075209.7aluvpwildw325rf-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-05-08 15:22               ` [kernel-hardening] " Daniel Micay
2017-05-08 15:26                 ` Kees Cook
2017-05-08 19:51                   ` Thomas Garnier
     [not found]                   ` <CAGXu5jL61K0bRSEg9a_LswNyrt3K1J57REbWVcvAXT54zWwtMA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-05-09  6:56                     ` Ingo Molnar
     [not found]                       ` <20170509065619.wmqa6z6w3n6xpvrw-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-05-09 11:10                         ` Greg KH
     [not found]                           ` <20170509111007.GA14702-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2017-05-09 14:29                             ` Thomas Garnier
     [not found]                               ` <CAJcbSZFswDWZoK-1UK+xkRMJ4ttSYbtH2Y5WD5_aPR-8ru6t8A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-05-11 23:17                                 ` Thomas Garnier
     [not found]                                   ` <CAJcbSZEoRyewUtBHvqmNZL9FtT_q42Vmmd-EuC50x-ZRASiHHg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-05-11 23:44                                     ` Linus Torvalds
     [not found]                                       ` <CA+55aFwvQfs_X+paQF6Luc0Rq+W3J2fKuHRou7=ANcquDdXdDA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-05-12  5:28                                         ` Martin Schwidefsky
2017-05-12  5:34                                           ` Kees Cook
2017-05-12  5:54                                             ` Martin Schwidefsky
2017-05-12 19:01                                               ` Kees Cook
2017-05-12 19:08                                                 ` Russell King - ARM Linux
     [not found]                                                 ` <CAGXu5jL9vUrn4kpjO+qa4cHmWBypeqP17OGbrMs=5Nz0YpQMZw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-05-12 19:08                                                   ` Linus Torvalds
     [not found]                                                     ` <CA+55aFzbiBqsYb7vwO=+L4Vp_GOgPu+DBOrq4fBnyzq5DbBehg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-05-12 19:30                                                       ` Kees Cook
     [not found]                                                         ` <CAGXu5j+xmyJ6RhtPw9rUgs7k3sZ1KKWffvyGGG--oPfu9W42ng-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-05-12 20:21                                                           ` Russell King - ARM Linux
2017-05-12 20:30                                                             ` Peter Zijlstra
     [not found]                                                               ` <20170512203044.GI4626-IIpfhp3q70z/8w/KjCw3T+5/BudmfyzbbVWyRVo5IupeoWH0uzbU5w@public.gmane.org>
2017-05-12 20:45                                                                 ` Russell King - ARM Linux
2017-05-12 21:00                                                                   ` Kees Cook
     [not found]                                                                     ` <CAGXu5jL6FPuShBpZfi6+XHqOk4gxocUJRYPHT5oR3HYh3xm+sA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-05-12 21:04                                                                       ` Kees Cook
2017-05-13  7:21                                                               ` Christoph Hellwig
2017-05-12 21:06                                                             ` Al Viro
     [not found]                                                               ` <20170512210645.GS390-3bDd1+5oDREiFSDQTTA3OLVCufUGDwFn@public.gmane.org>
2017-05-12 21:16                                                                 ` Daniel Micay [this message]
2017-05-12 21:17                                                                 ` [kernel-hardening] " Kees Cook
     [not found]                                                                   ` <CAGXu5jJu=VTqp2tzkPB4RAVxdGC+_SSQwrUwdzWpu24AA-zEcg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-05-12 21:23                                                                     ` Daniel Micay
2017-05-12 21:41                                                                     ` Al Viro
2017-05-12 21:47                                                                       ` Rik van Riel
     [not found]                                                                         ` <1494625675.29205.21.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2017-05-12 22:57                                                                           ` Al Viro
     [not found]                                                                       ` <20170512214144.GT390-3bDd1+5oDREiFSDQTTA3OLVCufUGDwFn@public.gmane.org>
2017-05-12 21:50                                                                         ` Kees Cook
     [not found]                                             ` <CAGXu5j+EatK=DYONRkgovwLgytAnbG8jnAZaMSLckZFNVj3gig-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-05-12  6:57                                               ` Ingo Molnar
2017-05-12  6:13                                       ` Andy Lutomirski
2017-05-12  6:58                                       ` Ingo Molnar
2017-05-12 17:05                                         ` Thomas Garnier
2017-05-09 16:30                       ` [kernel-hardening] " Kees Cook
2017-05-08 12:46           ` Greg KH
     [not found]             ` <20170508124621.GA20705-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2017-05-09  6:45               ` Ingo Molnar
     [not found]                 ` <20170509064522.anusoikaalvlux3w-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-05-09  8:56                   ` Christoph Hellwig
2017-05-09 13:00                     ` Andy Lutomirski
2017-05-09 13:02                       ` [kernel-hardening] " Christoph Hellwig
2017-05-09 16:03                         ` Christoph Hellwig
2017-05-09 16:50                           ` Kees Cook
     [not found]                             ` <CAGXu5jKHVMRMKDfn+=kkbm+JkWPhoEtDwKx=QXAYxg1p9bn7PQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-05-09 22:52                               ` Andy Lutomirski
     [not found]                                 ` <CALCETrV73=cDvaSLOMvb299yaGNJYME8LC-=P+N6p7R1NN97Yg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-05-09 23:31                                   ` Kees Cook
2017-05-10  1:59                                     ` Andy Lutomirski
2017-05-10  7:15                                     ` Christoph Hellwig
     [not found]                                     ` <CAGXu5jL6PeQmmdxh5h--fgrMK8DW_XZYpNfDOvvv_o9E3-Kxdw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-05-11 11:22                                       ` Borislav Petkov
2017-05-10  6:46                             ` Christoph Hellwig
     [not found]                           ` <20170509160322.GA15902-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2017-05-10  2:11                             ` Al Viro
2017-05-10  2:45                               ` Al Viro
2017-05-10  3:12                                 ` Al Viro
     [not found]                                   ` <20170510031254.GC390-3bDd1+5oDREiFSDQTTA3OLVCufUGDwFn@public.gmane.org>
2017-05-10  3:21                                     ` Al Viro
     [not found]                                       ` <20170510032137.GD390-3bDd1+5oDREiFSDQTTA3OLVCufUGDwFn@public.gmane.org>
2017-05-10  3:39                                         ` Al Viro
2017-05-10  6:54                                           ` Christoph Hellwig
2017-05-10  6:53                                   ` Christoph Hellwig
2017-05-10  7:27                                     ` Al Viro
2017-05-10  7:35                                       ` Christoph Hellwig
2017-05-10  6:49                                 ` Christoph Hellwig
2017-05-10  7:28                             ` Arnd Bergmann
2017-05-10  7:35                               ` Christoph Hellwig
2017-05-09 16:05                       ` Brian Gerst
     [not found]                       ` <CALCETrUh8NO2scaqEM48K70Fo2+V3=Cpyk4JurCDiCYp4nm_+g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-05-10  7:37                         ` [kernel-hardening] " Arnd Bergmann
2017-05-10  8:08                           ` Al Viro
2017-05-10  8:14                             ` Christoph Hellwig
2017-05-11  0:18                               ` Andy Lutomirski
2017-05-12  7:00                         ` Ingo Molnar
2017-05-12  7:15                           ` Al Viro
2017-05-12  7:35                             ` Christoph Hellwig
2017-05-12  8:07                               ` Christoph Hellwig
2017-05-12  8:23                                 ` Greg KH
     [not found]                             ` <20170512071549.GP390-3bDd1+5oDREiFSDQTTA3OLVCufUGDwFn@public.gmane.org>
2017-05-12  7:43                               ` [kernel-hardening] " Arnd Bergmann
2017-05-12  8:11                                 ` Christoph Hellwig
2017-05-12  8:16                                   ` Al Viro
2017-05-12  8:11                                 ` Al Viro
     [not found]                                   ` <20170512081154.GQ390-3bDd1+5oDREiFSDQTTA3OLVCufUGDwFn@public.gmane.org>
2017-05-12  8:20                                     ` Arnd Bergmann
2017-05-12 23:20                               ` Andy Lutomirski
2017-05-08 13:09         ` Kees Cook
2017-05-08 14:02           ` Ingo Molnar
     [not found]             ` <20170508140230.23kxf2kfeazeo4zr-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-05-08 14:06               ` Jann Horn
     [not found]                 ` <CAG48ez0Hz=CimkPwuq903tgJkGj8gXUtiQJJb-P2zUes6bd6Hw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-05-08 20:48                   ` Al Viro
     [not found]                     ` <20170508204858.GT29622-3bDd1+5oDREiFSDQTTA3OLVCufUGDwFn@public.gmane.org>
2017-05-12 23:15                       ` Andy Lutomirski
2017-05-08 15:24               ` Kees Cook
     [not found]                 ` <CAGXu5jJ4iY7QZ9wRu5dmm7RHtLh_V6TQh4huWwLCYPKOr63aiA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-05-09  6:34                   ` Ingo Molnar
2017-04-28 15:32 ` [PATCH v9 3/4] arm/syscalls: Optimize address limit check Thomas Garnier
2017-04-28 15:32 ` [PATCH v9 4/4] arm64/syscalls: " Thomas Garnier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1494623804.4521.2.camel@gmail.com \
    --to=danielmicay-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
    --cc=borntraeger-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org \
    --cc=catalin.marinas-5wv7dgnIgG8@public.gmane.org \
    --cc=dave.hansen-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    --cc=dhowells-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=greg-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org \
    --cc=heiko.carstens-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org \
    --cc=hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org \
    --cc=keescook-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org \
    --cc=kernel-hardening-ZwoEplunGu1jrUoiu81ncdBPR1lH4CV8@public.gmane.org \
    --cc=linux-I+IVW8TIWO2tmTQ+vhA3Yw@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-s390-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=mail-gLCNRsNSrVdVZEhyV+6z5nIPMjoJpjVV@public.gmane.org \
    --cc=mark.rutland-5wv7dgnIgG8@public.gmane.org \
    --cc=mingo-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=ptikhomirov-5HdwGun5lf+gSpxsJD1C4w@public.gmane.org \
    --cc=torvalds-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org \
    --cc=viro-3bDd1+5oDREiFSDQTTA3OLVCufUGDwFn@public.gmane.org \
    --cc=will.deacon-5wv7dgnIgG8@public.gmane.org \
    --cc=x86-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).