kernel_samsung_a53x/security
Tetsuo Handa 8d86e29a54 tomoyo: fallback to realpath if symlink's pathname does not exist
commit ada1986d07976d60bed5017aa38b7f7cf27883f7 upstream.

Alfred Agrell found that TOMOYO cannot handle execveat(AT_EMPTY_PATH)
inside chroot environment where /dev and /proc are not mounted, for
commit 51f39a1f0cea ("syscalls: implement execveat() system call") missed
that TOMOYO tries to canonicalize argv[0] when the filename fed to the
executed program as argv[0] is supplied using potentially nonexistent
pathname.

Since "/dev/fd/<fd>" already lost symlink information used for obtaining
that <fd>, it is too late to reconstruct symlink's pathname. Although
<filename> part of "/dev/fd/<fd>/<filename>" might not be canonicalized,
TOMOYO cannot use tomoyo_realpath_nofollow() when /dev or /proc is not
mounted. Therefore, fallback to tomoyo_realpath_from_path() when
tomoyo_realpath_nofollow() failed.

Reported-by: Alfred Agrell <blubban@gmail.com>
Closes: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1082001
Fixes: 51f39a1f0cea ("syscalls: implement execveat() system call")
Cc: stable@vger.kernel.org # v3.19+
Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-11-23 23:21:45 +01:00
..
apparmor apparmor: fix possible NULL pointer dereference 2024-11-23 23:20:57 +01:00
bpf Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
integrity ima: Avoid blocking in RCU read-side critical section 2024-11-19 14:19:42 +01:00
keys task_work: s/task_work_cancel()/task_work_cancel_func()/ 2024-11-23 23:20:13 +01:00
loadpin Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
lockdown Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
safesetid Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
samsung security: samsung: defex_lsm: nuke 2024-06-15 16:20:49 -03:00
sdp Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
selinux selinux,smack: don't bypass permissions check in inode_setsecctx hook 2024-11-23 23:21:29 +01:00
smack selinux,smack: don't bypass permissions check in inode_setsecctx hook 2024-11-23 23:21:29 +01:00
tomoyo tomoyo: fallback to realpath if symlink's pathname does not exist 2024-11-23 23:21:45 +01:00
yama Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
commoncap.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
device_cgroup.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
inode.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Kconfig proc: add config & param to block forcing mem writes 2024-11-23 23:21:39 +01:00
Kconfig.hardening Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
lsm_audit.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Makefile selinux: Remove audit dependency 2024-11-19 17:53:57 +01:00
min_addr.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
security.c ima: Avoid blocking in RCU read-side critical section 2024-11-19 14:19:42 +01:00