[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20171109173037.GC26229@mail.hallyn.com>
Date: Thu, 9 Nov 2017 11:30:37 -0600
From: "Serge E. Hallyn" <serge@...lyn.com>
To: Mahesh Bandewar <mahesh@...dewar.net>
Cc: LKML <linux-kernel@...r.kernel.org>,
Netdev <netdev@...r.kernel.org>,
Kernel-hardening <kernel-hardening@...ts.openwall.com>,
Linux API <linux-api@...r.kernel.org>,
Kees Cook <keescook@...omium.org>,
Serge Hallyn <serge@...lyn.com>,
"Eric W . Biederman" <ebiederm@...ssion.com>,
Eric Dumazet <edumazet@...gle.com>,
David Miller <davem@...emloft.net>,
Mahesh Bandewar <maheshb@...gle.com>
Subject: Re: [PATCH resend 1/2] capability: introduce sysctl for controlled
user-ns capability whitelist
Quoting Mahesh Bandewar (mahesh@...dewar.net):
> From: Mahesh Bandewar <maheshb@...gle.com>
>
> Add a sysctl variable kernel.controlled_userns_caps_whitelist. This
I understand the arguments in favor of whitelists in most cases for
security purposes. But given that you've said the goal here is to
prevent use of a capability in a user namespace when a CVE has been
found, a whitelist seems the wrong choice, since
1. it means that an attacker may through some other means be able
to add a capability back into the whitelist when you specifically
wanted to drop it. With a blacklist, you could say "once a cap has
been dropped it can never be re-added without rebooting".
2. it means by default all capabilities will be denied once the
switch is pulled which is specifically not what you want in this
case.
3. the admin can't just say "drop CAP_NET_ADMIN", but needs to
know to echo ~CAP_NET_ADMIN.
Why not make it a blacklist, and once a cap is dropped it can
never be re-added?
-serge
Powered by blists - more mailing lists