linux-security-module.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v5 0/3] binder: use cred instead of task for security context
@ 2021-10-12 16:56 Todd Kjos
  2021-10-12 16:56 ` [PATCH v5 1/3] binder: use euid from cred instead of using task Todd Kjos
                   ` (4 more replies)
  0 siblings, 5 replies; 7+ messages in thread
From: Todd Kjos @ 2021-10-12 16:56 UTC (permalink / raw)
  To: gregkh, arve, tkjos, maco, christian, jmorris, serge, paul,
	stephen.smalley.work, eparis, keescook, jannh, jeffv, zohar,
	linux-security-module, selinux, devel, linux-kernel
  Cc: joel, kernel-team, Todd Kjos

This series fixes the possible use of an incorrect security context
when checking selinux permissions, getting a security ID, or lookup
up the euid.

The previous behavior was to save the group_leader 'struct task_struct'
in binder_open() and using that to obtain security IDs or euids.

This has been shown to be unreliable, so this series instead saves the
'struct cred' of the task that called binder_open(). This cred is used
for these lookups instead of the task.

v1 and v2 of this series were a single patch "binder: use euid from"
cred instead of using task". During review, Stephen Smalley identified
two more related issues so the corresponding patches were added to
the series.

v3:
- add 2 patches to fix getsecid and euid

v4:
- fix minor checkpatch issues
- fix build-break for !CONFIG_SECURITY

v5:
- reorder/refactor patches as suggested by Stephen Smalley so eiud fix
  is first and saves the cred during binder_open()
- set *secid=0 for !CONFIG_SECURITY version of secuirty_cred_getsecid()

Todd Kjos (3):
  binder: use euid from cred instead of using task
  binder: use cred instead of task for selinux checks
  binder: use cred instead of task for getsecid

 drivers/android/binder.c          | 14 ++++++++------
 drivers/android/binder_internal.h |  4 ++++
 include/linux/lsm_hook_defs.h     | 14 +++++++-------
 include/linux/lsm_hooks.h         | 14 +++++++-------
 include/linux/security.h          | 28 ++++++++++++++--------------
 security/security.c               | 14 +++++++-------
 security/selinux/hooks.c          | 48 +++++++++++++-----------------------------------
 7 files changed, 60 insertions(+), 76 deletions(-)

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2021-10-14 21:40 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-10-12 16:56 [PATCH v5 0/3] binder: use cred instead of task for security context Todd Kjos
2021-10-12 16:56 ` [PATCH v5 1/3] binder: use euid from cred instead of using task Todd Kjos
2021-10-12 16:56 ` [PATCH v5 2/3] binder: use cred instead of task for selinux checks Todd Kjos
2021-10-12 16:56 ` [PATCH v5 3/3] binder: use cred instead of task for getsecid Todd Kjos
2021-10-12 17:49 ` [PATCH v5 0/3] binder: use cred instead of task for security context Casey Schaufler
2021-10-14 21:33 ` Paul Moore
2021-10-14 21:40   ` Todd Kjos

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