From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932287AbcA0MdB (ORCPT ); Wed, 27 Jan 2016 07:33:01 -0500 Received: from mail-ig0-f195.google.com ([209.85.213.195]:35248 "EHLO mail-ig0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754197AbcA0Mc6 (ORCPT ); Wed, 27 Jan 2016 07:32:58 -0500 Subject: Re: [kernel-hardening] Re: [PATCH 0/2] sysctl: allow CLONE_NEWUSER to be disabled To: "Eric W. Biederman" , Kees Cook References: <1453502345-30416-1-git-send-email-keescook@chromium.org> <8737tp0zhr.fsf@x220.int.ebiederm.org> <87bn89sbc2.fsf@x220.int.ebiederm.org> <87zivtj5tv.fsf@x220.int.ebiederm.org> <20160126171523.GA13715@ubuntumail> <874mdzgvw8.fsf@x220.int.ebiederm.org> Cc: Serge Hallyn , "kernel-hardening@lists.openwall.com" , Andy Lutomirski , Andrew Morton , Al Viro , Richard Weinberger , =?UTF-8?Q?Robert_=c5=9awi=c4=99cki?= , Dmitry Vyukov , David Howells , Kostya Serebryany , Alexander Potapenko , Eric Dumazet , Sasha Levin , "linux-doc@vger.kernel.org" , "linux-kernel@vger.kernel.org" From: "Austin S. Hemmelgarn" Message-ID: <56A8B8C2.7000702@gmail.com> Date: Wed, 27 Jan 2016 07:32:02 -0500 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 In-Reply-To: <874mdzgvw8.fsf@x220.int.ebiederm.org> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Antivirus: avast! (VPS 160127-0, 2016-01-26), Outbound message X-Antivirus-Status: Clean Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2016-01-27 05:27, Eric W. Biederman wrote: > Kees Cook writes: > >> On Tue, Jan 26, 2016 at 9:15 AM, Serge Hallyn wrote: >>> Quoting Josh Boyer (jwboyer@fedoraproject.org): >>>> What you're saying is true for the "oh crap" case of a new userns >>>> related CVE being found. However, there is the case where sysadmins >>>> know for a fact that a set of machines should not allow user >>>> namespaces to be enabled. Currently they have 2 choices, 1) use their >>> >>> Hi - can you give a specific example of this? (Where users really should >>> not be able to use them - not where they might not need them) I think >>> it'll help the discussion tremendously. Because so far the only good >>> arguments I've seen have been about actual bugs in the user namespaces, >>> which would not warrant a designed-in permanent disable switch. If >>> there are good use cases where such a disable switch will always be >>> needed (and compiling out can't satisfy) that'd be helpful. >> >> My example is a machine in a colo rack serving web pages. A site gets >> attacked, and www-data uses user namespaces to continue their attack >> to gain root privileges. >> >> The admin of such a machine could have disabled userns months earlier >> and limited the scope of the attack. > > Of course for the paranoid there is already a mechanism to do this. > /sbin/chroot. > > No new user namespaces are allowed to be created inside of a chroot. I would like to point out that this is undocumented outside of the kernel source code on every Linux system I've seen. And, it's not hugely obvious from looking at the source code unless you have some experience with kernel programming. Also, being able to limit to exactly one (or possibly two depending on the application's usage of them) user namespace would be useful, as that would allow sand-boxing without the ability to create any more through some exploit.