Re: [RFC PATCH v1 1/1] tracing/kprobe: Add multi-probe support for 'perf_kprobe' PMU

From: Google
Date: Mon Aug 21 2023 - 11:20:02 EST


On Mon, 21 Aug 2023 10:29:43 -0400
Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:

> On Sun, 20 Aug 2023 03:02:18 -0700
> Song Liu <song@xxxxxxxxxx> wrote:
>
> > > For the "unique symbol" + offset, you don't need the kallsyms, but need to
> > > access the System.map or vmlinux image. In this case, we don't need to expand
> > > the CAP_PERFMON capabilities.
> >
> > I agree this is not needed in this case. But I wonder whether it makes sense
> > to give CAP_PERFMON access to /proc/kallsyms. Will this change make
> > CAP_PERFMON less secure?
>
> I guess the question is, does CAP_PERFMON allow seeing where the kernel
> mapped itself via some other means? If not, then no, I would nack this as
> being a security hole.

As Song said, CAP_PERFMON allows user to put a kprobe anywhere user specified,
and it can run BPF program on it. This means it can access raw address
information via registers. if so, CAP_PERFMON allows seeing the kernel map or
equivalent information at this point.

>
> -- Steve


--
Masami Hiramatsu (Google) <mhiramat@xxxxxxxxxx>