Mark Grondona
a20cc70d1e
__ptrace_may_access() should not deny sub-threads
...
commit 73af963f9f upstream.
__ptrace_may_access() checks get_dumpable/ptrace_has_cap/etc if task !=
current, this can can lead to surprising results.
For example, a sub-thread can't readlink("/proc/self/exe") if the
executable is not readable. setup_new_exec()->would_dump() notices that
inode_permission(MAY_READ) fails and then it does
set_dumpable(suid_dumpable). After that get_dumpable() fails.
(It is not clear why proc_pid_readlink() checks get_dumpable(), perhaps we
could add PTRACE_MODE_NODUMPABLE)
Change __ptrace_may_access() to use same_thread_group() instead of "task
== current". Any security check is pointless when the tasks share the
same ->mm.
Signed-off-by: Mark Grondona <mgrondona@llnl.gov >
Signed-off-by: Ben Woodard <woodard@redhat.com >
Signed-off-by: Oleg Nesterov <oleg@redhat.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2015-07-03 19:48:08 -07:00
..
2013-11-29 11:11:42 -08:00
2015-03-06 14:40:52 -08:00
2015-04-13 14:02:12 +02:00
2013-01-11 11:39:33 -08:00
2014-06-30 20:09:45 -07:00
2015-03-18 13:22:28 +01:00
2014-08-07 14:30:26 -07:00
2015-03-06 14:40:52 -08:00
2015-06-29 12:08:34 -07:00
2013-04-22 07:09:06 -07:00
2013-05-04 14:57:58 -04:00
2013-03-12 13:59:14 -07:00
2014-11-21 09:22:52 -08:00
2013-01-11 14:54:55 -08:00
2014-09-17 09:03:57 -07:00
2013-12-04 10:57:03 -08:00
2013-05-24 16:22:52 -07:00
2014-06-16 13:42:53 -07:00
2011-03-23 19:46:28 -07:00
2014-09-17 09:03:57 -07:00
2012-11-19 08:13:38 -08:00
2015-04-29 10:34:00 +02:00
2013-05-01 07:21:43 -07:00
2013-05-01 17:29:18 -04:00
2013-06-20 08:18:35 -10:00
2012-05-31 17:49:27 -07:00
2014-06-11 12:03:24 -07:00
2014-07-17 15:58:00 -07:00
2011-11-06 19:44:47 -08:00
2012-12-18 10:55:28 -08:00
2013-01-27 19:23:31 +01:00
2012-03-28 18:30:03 +01:00
2014-10-05 14:54:15 -07:00
2013-04-15 13:25:16 +02:00
2014-10-09 12:18:42 -07:00
2014-11-14 08:47:58 -08:00
2013-02-23 18:50:11 -08:00
2014-06-07 13:25:41 -07:00
2015-01-08 09:58:16 -08:00
2014-06-07 13:25:31 -07:00
2012-04-25 12:39:25 +02:00
2013-02-05 00:48:46 +01:00
2012-04-10 11:00:30 +02:00
2012-08-06 19:00:35 +03:00
2013-04-15 15:17:26 +09:30
2014-10-05 14:54:13 -07:00
2014-07-28 08:00:07 -07:00
2012-03-23 13:18:57 +01:00
2013-12-20 07:45:08 -08:00
2013-05-16 12:01:11 -07:00
2013-05-28 10:37:59 +02:00
2012-12-11 18:10:49 -08:00
2013-04-30 17:04:02 -07:00
2011-10-31 09:20:12 -04:00
2012-05-29 23:28:41 -04:00
2012-10-24 12:39:09 +02:00
2013-05-08 11:51:05 -07:00
2013-05-05 10:58:06 -07:00
2013-03-15 15:09:43 +10:30
2012-12-20 17:40:21 -08:00
2012-12-05 11:27:24 +10:30
2012-10-19 17:30:40 -07:00
2014-11-14 08:47:55 -08:00
2011-10-31 09:20:12 -04:00
2011-04-14 08:52:33 +02:00
2013-04-19 09:33:36 +02:00
2011-04-14 08:52:33 +02:00
2011-10-31 09:20:12 -04:00
2013-05-01 17:29:39 -04:00
2012-12-06 17:16:23 +08:00
2013-04-30 17:04:02 -07:00
2013-03-18 11:40:21 +00:00
2014-04-26 17:15:34 -07:00
2015-01-08 09:58:17 -08:00
2013-04-22 19:59:25 +02:00
2014-11-14 08:48:00 -08:00
2015-04-19 10:10:51 +02:00
2013-05-01 17:29:18 -04:00
2015-07-03 19:48:08 -07:00
2013-06-18 11:32:10 -05:00
2013-01-28 22:06:21 -08:00
2013-01-28 22:25:21 -08:00
2013-01-28 22:06:21 -08:00
2013-01-28 22:25:21 -08:00
2013-02-04 12:18:20 -08:00
2013-05-15 10:41:12 -07:00
2013-05-05 00:16:35 -04:00
2013-06-10 13:37:12 -07:00
2013-06-10 13:37:11 -07:00
2013-05-08 10:13:35 -07:00
2012-12-18 15:02:12 -08:00
2013-04-29 15:54:40 -07:00
2011-01-27 21:13:51 -05:00
2013-02-07 20:51:08 +01:00
2014-07-17 15:58:04 -07:00
2013-04-10 14:48:37 +02:00
2014-07-17 15:58:04 -07:00
2014-07-17 15:58:04 -07:00
2013-03-23 15:53:52 -07:00
2013-03-26 11:07:19 +11:00
2013-04-30 17:04:08 -07:00
2013-05-01 14:08:52 -07:00
2014-09-17 09:03:57 -07:00
2015-02-11 14:48:17 +08:00
2012-08-13 17:01:07 +02:00
2015-05-17 09:51:33 -07:00
2012-03-23 13:18:57 +01:00
2013-02-07 15:19:36 -08:00
2011-10-31 09:20:12 -04:00
2013-02-26 22:25:17 +01:00
2013-05-09 13:46:38 -04:00
2013-06-12 16:29:44 -07:00
2013-05-09 14:53:20 -04:00
2014-06-11 12:03:27 -07:00
2012-09-13 16:47:34 +02:00
2012-10-06 03:05:31 +09:00
2013-04-29 18:28:42 -07:00
2015-01-29 17:40:56 -08:00
2013-02-16 23:17:25 +01:00
2014-06-07 13:25:30 -07:00
2014-05-30 21:52:11 -07:00
2013-01-27 19:23:31 +01:00
2015-01-08 09:58:16 -08:00
2011-10-31 09:20:12 -04:00
2015-01-08 09:58:17 -08:00
2013-02-27 19:10:24 -08:00
2015-01-08 09:58:16 -08:00
2013-02-27 19:10:22 -08:00
2013-05-01 17:29:39 -04:00
2012-12-06 10:39:54 +01:00
2013-03-14 08:24:05 +01:00
2013-04-30 17:04:02 -07:00
2015-03-26 15:00:58 +01:00