Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Oracle Linux 7.9 shim-15.3-1.0.3.el7 20210328 #141

Closed
iokomin opened this issue Mar 28, 2021 · 4 comments
Closed

Oracle Linux 7.9 shim-15.3-1.0.3.el7 20210328 #141

iokomin opened this issue Mar 28, 2021 · 4 comments
Labels
accepted Submission is ready for sysdev

Comments

@iokomin
Copy link

iokomin commented Mar 28, 2021

Review request for updated Oracle shim reviewed in #136

The only changes to previous review accepted by @julian-klode and @steve-mcintyre :

New review tag - https://github.com/iokomin/shim-review/tree/oracle-shim-15.3-1.0.3.el7-x86_64-20210328

Issue Template:

Make sure you have provided the following information:

  • [v] link to your code branch cloned from rhboot/shim-review in the form user/repo@tag
  • [v] completed README.md file with the necessary information
  • [v] shim.efi to be signed
  • [v] public portion of your certificate(s) embedded in shim (the file passed to VENDOR_CERT_FILE)
  • [v] binaries, for which hashes are added do vendor_db ( if you use vendor_db and have hashes allow-listed )
  • [v] any extra patches to shim via your own git tree or as files
  • [v] any extra patches to grub via your own git tree or as files
  • [v] build logs
What organization or people are asking to have this signed:

Oracle Corporation

What product or service is this for:

Oracle Linux
https://www.oracle.com/linux/index.html

Please create your shim binaries starting with the 15.3 shim release tar file:
https://github.com/rhboot/shim/releases/download/15.3/shim-15.3.tar.bz2
This matches https://github.com/rhboot/shim/releases/tag/15.3 and contains
the appropriate gnu-efi source.
Please confirm this as the origin your shim.

Upstream shim version 15.3
https://github.com/rhboot/shim/tree/shim-15.3

What's the justification that this really does need to be signed for the whole world to be able to boot it:

Oracle Linux is a popular enterprise Linux distribution with Secure Boot support.

How do you manage and protect the keys used in your SHIM?

Digicert SSM service hardware protected EV certificates

Do you use EV certificates as embedded certificates in the SHIM?

Yes

If you use new vendor_db functionality, are any hashes allow-listed, and if yes: for what binaries ?

No hashes whitelisted

Is kernel upstream commit 75b0cea7bf307f362057cc778efe89af4c615354 present in your kernel, if you boot chain includes a Linux kernel ?

Yes

if SHIM is loading GRUB2 bootloader, are CVEs CVE-2020-14372,
CVE-2020-25632, CVE-2020-25647, CVE-2020-27749, CVE-2020-27779,
CVE-2021-20225, CVE-2021-20233, CVE-2020-10713, CVE-2020-14308,
CVE-2020-14309, CVE-2020-14310, CVE-2020-14311, CVE-2020-15705,
( July 2020 grub2 CVE list + March 2021 grub2 CVE list )
and if you are shipping the shim_lock module CVE-2021-3418
fixed ?

Yes

"Please specifically confirm that you add a vendor specific SBAT entry for SBAT header in each binary that supports SBAT metadata
( grub2, fwupd, fwupdate, shim + all child shim binaries )" to shim review doc ?
Please provide exact SBAT entries for all SBAT binaries you are booting or planning to boot directly through shim

We keep all upstream SBAT entries and also append Oracle specific.
Since most packages in Oracle Linux are based on RHEL we also keep RHEL specific entries.

Oracle specific additions to packages are

grub2 Oracle Linux 7:
sbat,1,SBAT Version,sbat,1,https://github.com/rhboot/shim/blob/main/SBAT.md
grub,1,Free Software Foundation,grub,2.02,https://www.gnu.org/software/grub/
grub.rhel7,1,Red Hat Enterprise Linux 7,grub2,@@Version@@,mail:[email protected]
grub.ol7,1,Oracle Linux 7,grub2,@@Version@@,mail:[email protected]

grub2 Oracle Linux 8:
sbat,1,SBAT Version,sbat,1,https://github.com/rhboot/shim/blob/main/SBAT.md
grub,1,Free Software Foundation,grub,2.02,https://www.gnu.org/software/grub/
grub.rhel8,1,Red Hat Enterprise Linux 8,grub2,@@Version@@,mail:[email protected]
grub.ol8,1,Oracle Linux 8,grub2,@@Version@@,mail:[email protected]

shim Oracle Linux 7:
sbat,1,SBAT Version,sbat,1,https://github.com/rhboot/shim/blob/main/SBAT.md
shim,1,UEFI shim,shim,1,https://github.com/rhboot/shim
shim.ol,1,UEFI shim,shim,15.3,mail:[email protected]

shim Oracle Linux 8:
sbat,1,SBAT Version,sbat,1,https://github.com/rhboot/shim/blob/main/SBAT.md
shim,1,UEFI shim,shim,1,https://github.com/rhboot/shim
shim.ol,1,UEFI shim,shim,15.3,mail:[email protected]

All new UEFI binaries that are yet to be built with SBAT support will follow agreed SBAT variable pattern and we will add Oracle specific entry for them.

Were your old SHIM hashes provided to Microsoft ?

Yes

Did you change your certificate strategy, so that affected by CVE-2020-14372, CVE-2020-25632, CVE-2020-25647, CVE-2020-27749,
CVE-2020-27779, CVE-2021-20225, CVE-2021-20233, CVE-2020-10713,
CVE-2020-14308, CVE-2020-14309, CVE-2020-14310, CVE-2020-14311, CVE-2020-15705 ( July 2020 grub2 CVE list + March 2021 grub2 CVE list )
grub2 bootloaders can not be verified ?

Affected grub2 signing cert removed from shim, new signing EV certificate introduced.
New grub2 builds with CVE fix will be signed with new signing EV certificate.

What exact implementation of Secureboot in grub2 ( if this is your bootloader ) you have ?
* Upstream grub2 shim_lock verifier or * Downstream RHEL/Fedora/Debian/Canonical like implementation ?

Downstream RHEL/Fedora/Debian/Canonical like implementation

What is the origin and full version number of your bootloader (GRUB or other)?

grub2 v2.02-0.87.0.7.el7 - upstream plus number of patches from RedHat and Oracle

If your SHIM launches any other components, please provide further details on what is launched

No

If your GRUB2 launches any other binaries that are not Linux kernel in SecureBoot mode,
please provide further details on what is launched and how it enforces Secureboot lockdown

grub2 launches Linux kernel

How do the launched components prevent execution of unauthenticated code?

grub2 verifies signatures on booted kernels via shim

If you are re-using a previously used (CA) certificate, you
will need to add the hashes of the previous GRUB2 binaries
exposed to the CVEs to vendor_dbx in shim in order to prevent
GRUB2 from being able to chainload those older GRUB2 binaries. If
you are changing to a new (CA) certificate, this does not
apply. Please describe your strategy.

Not applicable, grub2 leaf certificate rotated in Oracle Linux shim

How do the launched components prevent execution of unauthenticated code?

Oracle Linux has same UEFI verification shim framework as RHEL that verifies all launched UEFI binaries.
All modules built into the GRUB2 either use shim framework or disabled when secureboot is enabled.

Does your SHIM load any loaders that support loading unsigned kernels (e.g. GRUB)?

No

What kernel are you using? Which patches does it includes to enforce Secure Boot?

4.1.12 based kernel with lockdown patches
4.14 based kernel with lockdown patches
5.4 based kernel with lockdown patches
5.8 based kernel with lockdown patches

What changes were made since your SHIM was last signed?

Shim rebased to upstream version shim-15.3
Updated vendor_db certificates

What is the SHA256 hash of your final SHIM binary?

5b76d85f3fe12af65843fd133439a86911a2f2079f5dedcf6184e54900451c1d shimia32.efi
930de65625d6ea2c25ab23b649e4175ba6f3a101b98b3d9e11e586ea98e2397c shimx64.efi

@iokomin
Copy link
Author

iokomin commented Mar 28, 2021

@julian-klode , @steve-mcintyre could you please give your bless for updated ol7 shim?

@steve-mcintyre
Copy link
Collaborator

All looks good to me, based on reviewing the changes.

Assuming we're happy these changes are all that is necessary, I'll happily approve this.

@steve-mcintyre steve-mcintyre added the accepted Submission is ready for sysdev label Mar 29, 2021
@steve-mcintyre
Copy link
Collaborator

Marking as accepted now, in anticipation of arm64 fixes not showing problems here

@julian-klode
Copy link
Collaborator

Closing issues labelled accepted

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
accepted Submission is ready for sysdev
Projects
None yet
Development

No branches or pull requests

3 participants