lkrg/src
Adam_pi3 2de8450633
Snapshot ADDR_LIMIT as task's attribute
Many exploits use culnerability to corrupt 'addr_limit' and achieve full R/W primitive in the kernel. This is a 'known' technique. We can't verify 'addr_limit' as part of normal verification process because kernel might legitimately modify it via call set_fs(KERNEL..). However, there are places where we can enforce such policy, e.g. during generic_permission() or capable() hook as well as at the syscall hook. I'm adding such verification on execve() syscall as well. Since kernel 5.10 on x86 platform set_fs/get_fs API is removed (and addr_limit variable) but it's not the case for ARM architecture. Moreover, many Android exploit relies on 'addr_limit' corruption. This beta-version of 'addr_limit' verification can be effective and important feature.
2020-12-23 19:49:41 -05:00
..
modules Snapshot ADDR_LIMIT as task's attribute 2020-12-23 19:49:41 -05:00
p_lkrg_main.c Replace module_init with late_initcall_sync 2020-12-19 00:56:18 -05:00
p_lkrg_main.h Enforce verification during internal RO-page modification 2020-12-21 15:34:05 -05:00