[Bug 1475954] Re: grub does not validate kernel signature during secure boot

Craig G cgallek at gmail.com
Thu Jul 23 15:22:42 UTC 2015


Thanks for the update.  Do you know if it's even possible to use grub to
verify the signatures of the currently distributed signed Ubuntu
kernels?  As far as I can tell, grub only supports gpg detached
signatures.  The Ubuntu kernels seem to be signed using  sbsigntool with
an X509 certificate and private key.

If not, I believe the only way to actually use secure boot with an
Ubuntu kernel is to directly load the kernel from the EFI without using
grub...

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to grub2 in Ubuntu.
https://bugs.launchpad.net/bugs/1475954

Title:
  grub does not validate kernel signature during secure boot

Status in grub2 package in Ubuntu:
  Confirmed

Bug description:
  I've been playing around with secure boot recently and I think I've
  found an issue with the signed grub efi image that ships with Ubuntu
  (15.04).

  When booting in secure mode, it is not possible to load modules from
  grub, meaning they must all be statically linked into the efi image
  before it is signed (the current list of included modules is in debian
  /build-efi-images).  The grub module responsible for verifying file
  signatures is 'verify' and it is not included as part of the signed
  grub image in the grub-efi-amd64-signed package.

  Further, even if this module was included, there are no public keys
  included in the grub image (these are usually included using the
  --pubkey flag of grub-mkimage).

  Both of these issues mean that despite booting a signed kernel image
  from grub (like vmlinuz-3.19.0-22-generic.efi.signed), the signature
  of the kernel is never actually validated before it is launched.

  I've managed to get a version of the grub.efi loader to boot in secure
  mode with the verify module included and my personal gpg public key
  included.  It now refuses to boot the ubuntu signed kernel because of
  the signature mismatch.  I haven't been able to test the successful
  case, though, because I can't seem to find the gpg public key that is
  used to sign the ubuntu kernels...

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1475954/+subscriptions



More information about the foundations-bugs mailing list