|
|
Log in / Subscribe / Register

Enable root to update the blacklist keyring

From:  Mickaël Salaün <mic-AT-digikod.net>
To:  David Howells <dhowells-AT-redhat.com>, David Woodhouse <dwmw2-AT-infradead.org>, Jarkko Sakkinen <jarkko-AT-kernel.org>
Subject:  [PATCH v7 0/5] Enable root to update the blacklist keyring
Date:  Fri, 12 Mar 2021 18:12:27 +0100
Message-ID:  <20210312171232.2681989-1-mic@digikod.net>
Cc:  Mickaël Salaün <mic-AT-digikod.net>, "David S . Miller" <davem-AT-davemloft.net>, Eric Snowberg <eric.snowberg-AT-oracle.com>, Herbert Xu <herbert-AT-gondor.apana.org.au>, James Morris <jmorris-AT-namei.org>, Mickaël Salaün <mic-AT-linux.microsoft.com>, Mimi Zohar <zohar-AT-linux.ibm.com>, "Serge E . Hallyn" <serge-AT-hallyn.com>, Tyler Hicks <tyhicks-AT-linux.microsoft.com>, keyrings-AT-vger.kernel.org, linux-crypto-AT-vger.kernel.org, linux-integrity-AT-vger.kernel.org, linux-kernel-AT-vger.kernel.org, linux-security-module-AT-vger.kernel.org
Archive-link:  Article

This new patch series is a rebase on David Howells's and Eric Snowberg's
keys-cve-2020-26541-v3.

I successfully tested this patch series with the 186 entries from
https://uefi.org/sites/default/files/resources/dbxupdate_... (184
binary hashes and 2 certificates).

The goal of these patches is to add a new configuration option to enable the
root user to load signed keys in the blacklist keyring.  This keyring is useful
to "untrust" certificates or files.  Enabling to safely update this keyring
without recompiling the kernel makes it more usable.

This can be applied on top of David Howells's keys-cve-2020-26541-branch:
https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/...

Previous patch series:
https://lore.kernel.org/lkml/20210210120410.471693-1-mic@...

Regards,

Mickaël Salaün (5):
  tools/certs: Add print-cert-tbs-hash.sh
  certs: Check that builtin blacklist hashes are valid
  certs: Make blacklist_vet_description() more strict
  certs: Factor out the blacklist hash creation
  certs: Allow root user to append signed hashes to the blacklist
    keyring

 MAINTAINERS                                   |   2 +
 certs/.gitignore                              |   1 +
 certs/Kconfig                                 |  17 +-
 certs/Makefile                                |  17 +-
 certs/blacklist.c                             | 218 ++++++++++++++----
 crypto/asymmetric_keys/x509_public_key.c      |   3 +-
 include/keys/system_keyring.h                 |  14 +-
 scripts/check-blacklist-hashes.awk            |  37 +++
 .../platform_certs/keyring_handler.c          |  26 +--
 tools/certs/print-cert-tbs-hash.sh            |  91 ++++++++
 10 files changed, 346 insertions(+), 80 deletions(-)
 create mode 100755 scripts/check-blacklist-hashes.awk
 create mode 100755 tools/certs/print-cert-tbs-hash.sh


base-commit: ebd9c2ae369a45bdd9f8615484db09be58fc242b
-- 
2.30.2



Copyright © 2021, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds