Messages in this thread | | | From | Andy Lutomirski <> | Date | Fri, 15 Aug 2014 12:32:41 -0700 | Subject | Re: [PATCH RFC v4 net-next 17/26] tracing: allow eBPF programs to be attached to events |
| |
On Fri, Aug 15, 2014 at 12:29 PM, Alexei Starovoitov <ast@plumgrid.com> wrote: > On Fri, Aug 15, 2014 at 12:20 PM, Andy Lutomirski <luto@amacapital.net> wrote: >>>> >>>> I don't think that fixing this should be a prerequisite for merging, >>>> since the risk is so small. Nonetheless, it would be nice. (This >>>> family of attacks has lead to several root vulnerabilities in the >>>> past.) >>> >>> Ok. I think keeping a track of pid between open and write is kinda >>> ugly. >> >> Agreed. >> >> TBH, I would just add a comment to the open implementation saying >> that, if unprivileged or less privileged open is allowed, then this >> needs to be fixed. > > ok. will do. > >>> Should we add some new CAP flag and check it for all file >>> ops? Another option is to conditionally make open() of tracing >>> files as cloexec... >> >> That won't help. The same attack can be done with SCM_RIGHTS, and >> cloexec can be cleared. > > ouch, can we then make ebpf FDs and may be debugfs FDs > not passable at all? Otherwise it feels that generality and > flexibility of FDs is becoming a burden.
I'm not sure there's much of a general problem. The issue is when there's an fd for which write(2) (or other assumed-to-not-check-permissions calls like read, pread, pwrite, etc) depend on context. This is historically an issue for netlink and various /proc files.
--Andy
| |