Files
android_kernel_xiaomi_sm8450/include/linux
Julien Tinnes f9fabcb58a personality: fix PER_CLEAR_ON_SETID
We have found that the current PER_CLEAR_ON_SETID mask on Linux doesn't
include neither ADDR_COMPAT_LAYOUT, nor MMAP_PAGE_ZERO.

The current mask is READ_IMPLIES_EXEC|ADDR_NO_RANDOMIZE.

We believe it is important to add MMAP_PAGE_ZERO, because by using this
personality it is possible to have the first page mapped inside a
process running as setuid root.  This could be used in those scenarios:

 - Exploiting a NULL pointer dereference issue in a setuid root binary
 - Bypassing the mmap_min_addr restrictions of the Linux kernel: by
   running a setuid binary that would drop privileges before giving us
   control back (for instance by loading a user-supplied library), we
   could get the first page mapped in a process we control.  By further
   using mremap and mprotect on this mapping, we can then completely
   bypass the mmap_min_addr restrictions.

Less importantly, we believe ADDR_COMPAT_LAYOUT should also be added
since on x86 32bits it will in practice disable most of the address
space layout randomization (only the stack will remain randomized).

Signed-off-by: Julien Tinnes <jt@cr0.org>
Signed-off-by: Tavis Ormandy <taviso@sdf.lonestar.org>
Cc: stable@kernel.org
Acked-by: Christoph Hellwig <hch@infradead.org>
Acked-by: Kees Cook <kees@ubuntu.com>
Acked-by: Eugene Teo <eugene@redhat.com>
[ Shortened lines and fixed whitespace as per Christophs' suggestion ]
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-07-12 12:21:33 -07:00
..
2009-06-17 19:41:52 +02:00
2009-06-22 16:56:22 -07:00
2009-06-18 08:46:47 +10:00
2009-06-30 18:56:00 -07:00
2009-03-05 14:39:32 -05:00
2009-07-10 19:17:22 -07:00
2009-06-17 00:36:36 -04:00
2009-01-30 23:38:03 +05:30
2009-06-30 18:55:58 -07:00
2009-01-21 14:02:19 -08:00
2009-01-30 23:38:37 +05:30
2008-12-03 22:12:38 -08:00
2008-12-03 22:12:38 -08:00
2009-04-01 08:59:23 -07:00
2009-01-30 23:39:42 +05:30
2009-06-01 06:21:13 +00:00
2009-01-30 23:40:06 +05:30
2009-05-02 15:36:10 -07:00
2009-04-23 10:06:35 +01:00
2009-01-04 13:33:20 -08:00
2009-06-11 21:36:09 -04:00
2009-01-30 23:44:08 +05:30
2009-06-22 10:12:35 +01:00
2008-12-25 11:01:43 +11:00
2009-05-29 08:40:01 -07:00
2009-06-11 08:50:57 -07:00
2009-06-11 21:36:06 -04:00
2009-03-01 00:19:35 -08:00
2009-06-15 21:30:25 -07:00
2009-06-22 10:12:30 +01:00
2009-06-22 10:12:35 +01:00
2009-05-18 14:46:26 +01:00
2009-01-30 23:46:03 +05:30
2009-04-03 14:53:32 -07:00
2009-01-30 23:46:40 +05:30
2009-06-17 09:33:49 -07:00
2009-01-30 23:48:33 +05:30
2009-07-08 09:18:05 -07:00
2009-03-16 08:32:27 -06:00
2009-06-24 08:17:04 -04:00
2008-12-29 11:27:46 +02:00
2009-06-30 18:56:00 -07:00
2009-06-15 21:30:25 -07:00
2009-06-24 08:15:27 -04:00
2009-06-18 18:40:18 -04:00
2009-06-30 20:12:24 +02:00
2009-06-18 13:04:05 -07:00
2009-01-30 23:51:17 +05:30
2009-04-02 19:04:53 -07:00
2009-06-03 14:05:10 -04:00
2009-01-30 23:52:16 +05:30
2009-01-30 23:53:12 +05:30
2009-01-30 23:53:40 +05:30
2009-01-30 23:54:53 +05:30
2009-01-30 23:55:45 +05:30
2009-01-30 23:56:13 +05:30
2009-01-30 23:56:48 +05:30
2009-05-19 16:02:02 -07:00
2009-01-30 23:57:16 +05:30
2009-06-29 08:59:10 +10:00
2009-02-02 21:40:58 +05:30
2009-06-02 00:45:24 -07:00
2009-06-18 13:03:57 -07:00
2009-05-18 14:46:26 +01:00
2009-06-18 13:03:56 -07:00
2009-04-21 13:41:48 -07:00
2009-04-21 13:41:48 -07:00
2009-01-30 23:59:44 +05:30
2009-01-31 00:00:06 +05:30
2009-01-05 08:40:30 -08:00
2009-06-22 10:12:35 +01:00
2009-06-15 15:49:23 +02:00
2009-06-11 17:03:28 +01:00
2009-06-10 11:48:39 +03:00
2009-04-06 16:06:26 +01:00
2009-06-23 20:21:39 +01:00
2009-06-16 19:47:57 -07:00
2009-04-28 07:37:28 +02:00
2009-04-14 09:00:19 +10:00
2009-06-16 19:47:48 -07:00
2009-06-16 08:40:20 +02:00
2009-04-29 17:32:35 -07:00
2009-01-31 00:00:35 +05:30
2009-06-11 19:05:32 +02:00
2009-05-25 00:55:45 -07:00
2009-06-16 19:50:13 -07:00
2009-06-25 11:22:13 -07:00
2009-07-08 09:31:56 -07:00
2009-06-18 13:03:57 -07:00
2009-06-11 21:36:02 -04:00
2009-01-31 00:01:11 +05:30
2009-03-20 10:48:14 -07:00
2009-06-11 21:36:01 -04:00
2009-03-15 19:59:13 -07:00
2009-06-17 18:02:11 -07:00
2009-06-17 18:02:11 -07:00
2009-06-17 12:24:34 -07:00
2009-06-17 12:24:34 -07:00
2009-06-17 18:02:11 -07:00
2009-03-10 20:33:18 -04:00
2009-06-15 21:44:43 -07:00
2008-12-21 14:21:14 +11:00
2009-04-01 08:59:13 -07:00
2009-04-01 08:59:13 -07:00
2009-06-29 12:14:51 -07:00
2009-06-30 18:55:59 -07:00
2009-01-31 00:02:54 +05:30
2009-01-08 08:31:12 -08:00
2009-01-31 00:03:40 +05:30
2009-04-24 08:54:21 +02:00
2009-04-01 08:59:13 -07:00
2009-03-13 16:09:12 -07:00
2009-06-18 13:04:04 -07:00
2009-06-18 13:04:04 -07:00
2009-03-30 15:22:01 +02:00
2009-06-11 21:36:12 -04:00
2009-03-26 02:18:35 +01:00
2009-01-31 00:05:59 +05:30
2008-11-12 17:17:17 -08:00
2009-02-26 23:42:11 -08:00
2009-06-24 08:17:06 -04:00
2009-05-09 10:49:41 -04:00
2009-04-01 08:59:24 -07:00
2009-07-10 14:24:05 -07:00
2009-04-08 14:33:38 -07:00
2009-06-11 08:50:58 -07:00
2009-02-27 16:53:50 +09:00
2009-06-24 08:17:06 -04:00
2009-04-13 15:04:29 -07:00
2009-01-31 00:06:33 +05:30
2009-06-15 15:50:49 +02:00
2009-04-21 19:40:00 -07:00
2009-06-16 19:47:48 -07:00
2009-04-27 02:45:02 -07:00
2009-03-27 12:18:56 -04:00
2009-01-31 00:07:00 +05:30
2009-05-12 11:11:48 +02:00
2009-06-23 12:50:05 -07:00
2009-04-02 19:05:01 -07:00
2009-07-06 13:57:03 -07:00
2009-02-18 15:37:53 -08:00
2009-02-03 11:23:12 +11:00
2009-06-11 08:50:59 -07:00
2009-06-11 08:51:01 -07:00