On Fri, Jul 27, 2018 at 2:07 PM Jordan Glover Golden_Miller83@protonmail.ch wrote:
On July 27, 2018 12:15 AM, Steven Rostedt rostedt@goodmis.org wrote:
On Thu, 26 Jul 2018 09:52:11 -0700 Nick Desaulniers ndesaulniers@google.com wrote:
See the section "Kernel addresses" in Documentation/security/self-protection. IIRC, the issue is that a process may have CAP_SYSLOG but not necessarily CAP_SYS_ADMIN (so it can read dmesg, but not necessarily issue a sysctl to change kptr_restrict), get compromised and used to leak kernel addresses, which can then be used to defeat KASLR.
But the code doesn't go to dmesg. It's only available via /sys/kernel/debug/tracing/printk_formats which is only available via root. Nobody else has access to that directory.
-- Steve
I think the point was that when we take capabilities into account the root privileges aren't unequivocal anymore. The 'root' owned process with only 'CAP_SYSLOG' shouldn't have access to /sys/kernel/debug/tracing/printk_formats
Then they shouldn't have access to debugfs at all, right?