LSM: add SafeSetID module that gates setid calls
authorMicah Morton <mortonm@chromium.org>
Wed, 16 Jan 2019 15:46:06 +0000 (07:46 -0800)
committerJames Morris <james.morris@microsoft.com>
Fri, 25 Jan 2019 19:22:45 +0000 (11:22 -0800)
commitaeca4e2ca65c1aeacfbe520684e6421719d99417
tree0497b4bdda5dcd4005293603c1543b9b1a8795a6
parent40852275a94afb3e836be9248399e036982d1a79
LSM: add SafeSetID module that gates setid calls

SafeSetID gates the setid family of syscalls to restrict UID/GID
transitions from a given UID/GID to only those approved by a
system-wide whitelist. These restrictions also prohibit the given
UIDs/GIDs from obtaining auxiliary privileges associated with
CAP_SET{U/G}ID, such as allowing a user to set up user namespace UID
mappings. For now, only gating the set*uid family of syscalls is
supported, with support for set*gid coming in a future patch set.

Signed-off-by: Micah Morton <mortonm@chromium.org>
Acked-by: Kees Cook <keescook@chromium.org>
Signed-off-by: James Morris <james.morris@microsoft.com>
Documentation/admin-guide/LSM/SafeSetID.rst [new file with mode: 0644]
Documentation/admin-guide/LSM/index.rst
security/Kconfig
security/Makefile
security/safesetid/Kconfig [new file with mode: 0644]
security/safesetid/Makefile [new file with mode: 0644]
security/safesetid/lsm.c [new file with mode: 0644]
security/safesetid/lsm.h [new file with mode: 0644]
security/safesetid/securityfs.c [new file with mode: 0644]