android_kernel_sony_sdm845/include
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Eric Biggers bfe9d7b8e0 KEYS: prevent creating a different user's keyrings
commit 237bbd29f7a049d310d907f4b2716a7feef9abf3 upstream.

It was possible for an unprivileged user to create the user and user
session keyrings for another user.  For example:

    sudo -u '#3000' sh -c 'keyctl add keyring _uid.4000 "" @u
                           keyctl add keyring _uid_ses.4000 "" @u
                           sleep 15' &
    sleep 1
    sudo -u '#4000' keyctl describe @u
    sudo -u '#4000' keyctl describe @us

This is problematic because these "fake" keyrings won't have the right
permissions.  In particular, the user who created them first will own
them and will have full access to them via the possessor permissions,
which can be used to compromise the security of a user's keys:

    -4: alswrv-----v------------  3000     0 keyring: _uid.4000
    -5: alswrv-----v------------  3000     0 keyring: _uid_ses.4000

Fix it by marking user and user session keyrings with a flag
KEY_FLAG_UID_KEYRING.  Then, when searching for a user or user session
keyring by name, skip all keyrings that don't have the flag set.

Fixes: 69664cf16a ("keys: don't generate user and user session keyrings unless they're accessed")
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-10-05 09:44:00 +02:00
..
acpi ACPICA: Linuxize: Restore and fix Intel compiler build 2017-02-26 11:10:52 +01:00
asm-generic cpumask: fix spurious cpumask_of_node() on non-NUMA multi-node configs 2017-09-07 08:35:40 +02:00
clocksource
crypto crypto: ahash - Fix EINPROGRESS notification callback 2017-04-21 09:31:23 +02:00
drm drm: Don't race connector registration 2017-06-17 06:41:53 +02:00
dt-bindings dt: bindings: net: use boolean dt properties for eee broken modes 2017-07-05 14:40:20 +02:00
keys
kvm ARM: KVM: Support vgic-v3 2016-09-22 13:22:21 +02:00
linux KEYS: prevent creating a different user's keyrings 2017-10-05 09:44:00 +02:00
math-emu
media Linux 4.8 2016-10-05 16:43:53 -03:00
memory
misc
net mac80211: fix VLAN handling with TXQs 2017-10-05 09:43:58 +02:00
pcmcia
ras
rdma RDMA/core: Fix incorrect structure packing for booleans 2017-03-12 06:41:50 +01:00
rxrpc rxrpc: Add tracepoint for ACK proposal 2016-09-23 15:49:19 +01:00
scsi scsi: Add STARGET_CREATED_REMOVE state to scsi_target_state 2017-07-27 15:07:59 -07:00
soc ARM: at91: define LPDDR types 2017-03-12 06:41:41 +01:00
sound ASoC: hdmi-codec: use unsigned type to structure members with bit-field 2017-01-19 20:18:02 +01:00
target iscsi-target: Fix iscsi_np reset hung task during parallel delete 2017-08-16 13:43:16 -07:00
trace tracing: Add #undef to fix compile error 2017-03-18 19:14:29 +08:00
uapi net: ethtool: add support for 2500BaseT and 5000BaseT link modes 2017-07-05 14:40:19 +02:00
video fbdev changes for 4.9 2016-10-12 11:01:37 -07:00
xen xen: Revert commits da72ff5bfcb0 and 72a9b18629 2017-05-14 14:00:22 +02:00
Kbuild