linux/security/tomoyo
Tetsuo Handa a207516776 tomoyo: Loosen pathname/domainname validation.
Since commit e2dc9bf3f5 ("umd: Transform fork_usermode_blob into
fork_usermode_driver") started calling execve() on a program written in
a local mount which is not connected to mount tree,
tomoyo_realpath_from_path() started returning a pathname in
"$fsname:/$pathname" format which violates TOMOYO's domainname rule that
it must start with "<$namespace>" followed by zero or more repetitions of
pathnames which start with '/'.

Since $fsname must not contain '.' since commit 79c0b2df79 ("add
filesystem subtype support"), tomoyo_correct_path() can recognize a token
which appears '/' before '.' appears (e.g. proc:/self/exe ) as a pathname
while rejecting a token which appears '.' before '/' appears (e.g.
exec.realpath="/bin/bash" ) as a condition parameter.

Therefore, accept domainnames which contain pathnames which do not start
with '/' but contain '/' before '.' (e.g. <kernel> tmpfs:/bpfilter_umh ).

Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
2020-10-12 19:53:34 +09:00
..
policy
.gitignore .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
Kconfig treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
Makefile
audit.c
common.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
common.h exec: Implement kernel_execve 2020-07-21 08:24:52 -05:00
condition.c
domain.c mm/gup: remove task_struct pointer for all gup code 2020-08-12 10:58:04 -07:00
environ.c
file.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
gc.c
group.c
load_policy.c
memory.c
mount.c
network.c
realpath.c proc: proc_pid_ns takes super_block as an argument 2020-05-19 07:07:50 -05:00
securityfs_if.c
tomoyo.c exec: Implement kernel_execve 2020-07-21 08:24:52 -05:00
util.c tomoyo: Loosen pathname/domainname validation. 2020-10-12 19:53:34 +09:00