Skip to content
  • Eric Snowberg's avatar
    certs: Add EFI_CERT_X509_GUID support for dbx entries · 56c58126
    Eric Snowberg authored
    This fixes CVE-2020-26541.
    
    The Secure Boot Forbidden Signature Database, dbx, contains a list of now
    revoked signatures and keys previously approved to boot with UEFI Secure
    Boot enabled.  The dbx is capable of containing any number of
    EFI_CERT_X509_SHA256_GUID, EFI_CERT_SHA256_GUID, and EFI_CERT_X509_GUID
    entries.
    
    Currently when EFI_CERT_X509_GUID are contained in the dbx, the entries are
    skipped.
    
    Add support for EFI_CERT_X509_GUID dbx entries. When a EFI_CERT_X509_GUID
    is found, it is added as an asymmetrical key to the .blacklist keyring.
    Anytime the .platform keyring is used, the keys in the .blacklist keyring
    are referenced, if a matching key is found, the key will be rejected.
    
    [DH: Made the following changes:
     - Added to have a config option to enable the facility.  This allows a
       Kconfig solution to make sure that pkcs7_validate_trust() is
       enabled.[1][2]
     - Moved the functions out from the middle of the blacklist functions.
     - Added ker...
    56c58126