linux/security/tomoyo
Tetsuo Handa 6f7c41374b tomoyo: Don't use nifty names on sockets.
syzbot is reporting that use of SOCKET_I()->sk from open() can result in
use after free problem [1], for socket's inode is still reachable via
/proc/pid/fd/n despite destruction of SOCKET_I()->sk already completed.

At first I thought that this race condition applies to only open/getattr
permission checks. But James Morris has pointed out that there are more
permission checks where this race condition applies to. Thus, get rid of
tomoyo_get_socket_name() instead of conditionally bypassing permission
checks on sockets. As a side effect of this patch,
"socket:[family=\$:type=\$:protocol=\$]" in the policy files has to be
rewritten to "socket:[\$]".

[1] https://syzkaller.appspot.com/bug?id=73d590010454403d55164cca23bd0565b1eb3b74

Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Reported-by: syzbot <syzbot+0341f6a4d729d4e0acf1@syzkaller.appspotmail.com>
Reported-by: James Morris <jmorris@namei.org>
2019-12-11 19:54:10 +09:00
..
policy tomoyo: Do not generate empty policy files 2015-04-07 21:27:45 +02:00
.gitignore tomoyo: Do not generate empty policy files 2015-04-07 21:27:45 +02:00
audit.c tomoyo: Coding style fix. 2019-01-24 14:50:27 -08:00
common.c tomoyo: Add a kernel config option for fuzzing testing. 2019-05-10 14:58:11 -07:00
common.h tomoyo: Bump version. 2019-02-19 14:17:25 -08:00
condition.c tomoyo: Coding style fix. 2019-01-24 14:50:27 -08:00
domain.c tomoyo: Allow multiple use_group lines. 2019-01-24 14:50:27 -08:00
environ.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
file.c tomoyo: Coding style fix. 2019-01-24 14:50:27 -08:00
gc.c tomoyo: Coding style fix. 2019-01-24 14:50:27 -08:00
group.c tomoyo: Coding style fix. 2019-01-24 14:50:27 -08:00
Kconfig treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
load_policy.c tomoyo: Coding style fix. 2019-01-24 14:50:27 -08:00
Makefile kbuild: move bin2c back to scripts/ from scripts/basic/ 2018-07-18 01:18:05 +09:00
memory.c tomoyo: Coding style fix. 2019-01-24 14:50:27 -08:00
mount.c tomoyo: Coding style fix. 2019-01-24 14:50:27 -08:00
network.c tomoyo: Check address length before reading address family 2019-05-10 14:58:25 -07:00
realpath.c tomoyo: Don't use nifty names on sockets. 2019-12-11 19:54:10 +09:00
securityfs_if.c tomoyo: Coding style fix. 2019-01-24 14:50:27 -08:00
tomoyo.c tomoyo: Coding style fix. 2019-01-24 14:50:27 -08:00
util.c tomoyo: Don't emit WARNING: string while fuzzing testing. 2019-05-10 14:58:35 -07:00