From mboxrd@z Thu Jan 1 00:00:00 1970 From: Djalal Harouni Subject: Re: [PATCH v3 2/2] modules:capabilities: add a per-task modules autoload restriction Date: Mon, 24 Apr 2017 16:25:40 +0200 Message-ID: References: <1492640420-27345-1-git-send-email-tixxdz@gmail.com> <1492640420-27345-3-git-send-email-tixxdz@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Return-path: In-Reply-To: Sender: linux-api-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: Kees Cook Cc: Andy Lutomirski , Linux Kernel Mailing List , Andrew Morton , "Serge E. Hallyn" , "kernel-hardening-ZwoEplunGu1jrUoiu81ncdBPR1lH4CV8@public.gmane.org" , LSM List , Linux API , Dongsu Park , Casey Schaufler , James Morris , Paul Moore , Tetsuo Handa , Greg Kroah-Hartman , Jonathan Corbet , Jessica Yu , Rusty Russell , Arnaldo Carvalho de Melo , Mauro List-Id: linux-api@vger.kernel.org On Sat, Apr 22, 2017 at 9:29 PM, Kees Cook wrote: > On Fri, Apr 21, 2017 at 11:51 PM, Andy Lutomirski wrote: >> On Fri, Apr 21, 2017 at 5:12 PM, Djalal Harouni wrote: >>> On Sat, Apr 22, 2017 at 1:51 AM, Andy Lutomirski wrote: >>> [...] >>> * DCCP use after free CVE-2017-6074 >>> * n_hldc CVE-2017-2636 >>> * XFRM framework CVE-2017-7184 >>> * L2TPv3 CVE-2016-10200 >>> >>> Most of these need CAP_NET_ADMIN to be autoloaded, however we also >>> need CAP_NET_ADMIN for other things... therefore it is better to have >>> an extra facility that could coexist with CAP_NET_ADMIN and other >>> sandbox features. >>> >> >> I agree that the feature is important, but I think your implementation >> is needlessly dangerous. I imagine that the main uses that you care >> about involve containers. How about doing it in a safer way that >> works for containers? I can think of a few. For example: >> >> 1. A sysctl that, if set, prevents autoloading outside the root >> userns. This isn't very flexible at all, but it might work. >> >> 2. Your patch, but require privilege within the calling namespace to >> set the prctl. > > How about CAP_SYS_ADMIN || no_new_privs? > > -Kees > Yes I can update as per Andy suggestion to require privileges inside the calling namespace to set prctl. Other options that are not prctl based have more variants, that make them hard to use. So I would got with CAP_SYS_ADMIN in the calling userns || no_new_privs , I would have said CAP_SYS_MODULE in the userns but it seems better to standardize on CAP_SYS_ADMIN to set the prctl. -- tixxdz