Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754761AbcKUTGt (ORCPT ); Mon, 21 Nov 2016 14:06:49 -0500 Received: from mail-it0-f54.google.com ([209.85.214.54]:37379 "EHLO mail-it0-f54.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754188AbcKUTGq (ORCPT ); Mon, 21 Nov 2016 14:06:46 -0500 MIME-Version: 1.0 In-Reply-To: <20161121190531.dcha3soohybzaqr6@redhat.com> References: <147931984418.16460.6639993676886095760.stgit@warthog.procyon.org.uk> <147931990959.16460.3038875071067540418.stgit@warthog.procyon.org.uk> <20161121190531.dcha3soohybzaqr6@redhat.com> From: Ard Biesheuvel Date: Mon, 21 Nov 2016 20:06:44 +0100 Message-ID: Subject: Re: [PATCH 9/9] MODSIGN: Allow the "db" UEFI variable to be suppressed To: Peter Jones Cc: Josh Boyer , David Howells , keyrings@vger.kernel.org, Matthew Garrett , "linux-efi@vger.kernel.org" , "linux-kernel@vger.kernel.org" , linux-security-module Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1677 Lines: 36 On 21 November 2016 at 20:05, Peter Jones wrote: > On Mon, Nov 21, 2016 at 04:42:45PM +0000, Ard Biesheuvel wrote: >> On 21 November 2016 at 16:26, Josh Boyer wrote: >> > On Mon, Nov 21, 2016 at 11:18 AM, Ard Biesheuvel >> > wrote: >> >> On 16 November 2016 at 18:11, David Howells wrote: >> >>> From: Josh Boyer >> >>> >> >>> If a user tells shim to not use the certs/hashes in the UEFI db variable >> >>> for verification purposes, shim will set a UEFI variable called >> >>> MokIgnoreDB. Have the uefi import code look for this and ignore the db >> >>> variable if it is found. >> >>> >> >> >> >> Similar concern as in the previous patch: it appears to me that you >> >> can DoS a machine by setting MokIgnoreDB if, e.g., its modules are >> >> signed against a cert that resides in db, and shim/mokmanager are not >> >> being used. >> > >> > If shim/mokmanager aren't used, then you can't actually modify >> > MokIgnoreDB. Again, it requires physical access and a reboot into >> > mokmanager to actually take effect. >> > >> >> This does the trick as well >> >> printf "\x07\x00\x00\x00\x01" > >> /sys/firmware/efi/efivars/MokIgnoreDB-605dab50-e046-4300-abb6-3dd810dd8b23 > > So that really means two things. First, kernel should only honor any of > the Mok* variables if they're Boot Services-only variables. Second, to > avoid the DoS, shim should create them all as Boot Services-only the > first time it boots. That'll prevent them from being created post-boot. > All of that assumes you are using shim and mokmanager in the first place.