On Tue, Oct 17, 2017 at 4:15 PM, Tobin C. Harding <m...@tobin.cc> wrote: > On Tue, Oct 17, 2017 at 09:31:19AM -0400, Steven Rostedt wrote: >> On Tue, 17 Oct 2017 15:52:51 +1100 >> "Tobin C. Harding" <m...@tobin.cc> wrote: >> >> > Currently there are many places in the kernel where addresses are being >> > printed using an unadorned %p. Kernel pointers should be printed using >> > %pK allowing some control via the kptr_restrict sysctl. Exposing addresses >> > gives attackers sensitive information about the kernel layout in memory. >> > >> > We can reduce the attack surface by hashing all addresses printed with >> > %p. This will of course break some users, forcing code printing needed >> > addresses to be updated. >> > >> > For what it's worth, usage of unadorned %p can be broken down as follows >> > >> > git grep '%p[^KFfSsBRrbMmIiEUVKNhdDgCGO]' | wc -l >> >> Does %p[FfSs] leak addresses? Well, I guess it does if they are not >> found in kallsyms, but otherwise you have: >> >> function+0x<offset> > > You are correct %pF and %pS print an offset. Does this provide an attack > vector, > I didn't think so but I'm no security expert. If they do then we need to amend > those calls also.
They haven't traditionally been a big deal. If they turn out to be problematic, we can deal with it then, IMO. -Kees -- Kees Cook Pixel Security