diff --git a/.gitignore b/.gitignore index e57fc72..8cdce47 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,6 @@ +SOURCES/fbaa64.efi SOURCES/fbx64.efi +SOURCES/mmaa64.efi SOURCES/mmx64.efi SOURCES/shimaa64.efi SOURCES/shimx64.efi diff --git a/.shim.metadata b/.shim.metadata index 177bafb..32dfe3f 100644 --- a/.shim.metadata +++ b/.shim.metadata @@ -1,4 +1,6 @@ -bfee65ae45498fefd64b16edf9993415b625cb3c SOURCES/shimaa64.efi -8d5251f1166c9dd43426903459fe95d4bd262483 SOURCES/shimx64.efi -122b21c2da0ca4ee839d4bb6beff7ddffd68f1a0 SOURCES/fbx64.efi -a4f7a273cc9a531a6ef125b91353f479cfa5f79c SOURCES/mmx64.efi +4591a3da03f337b27e963b69202f7109496c0ef8 SOURCES/fbaa64.efi +403a4e918a00f5e90551085c7ba545969feee26e SOURCES/fbx64.efi +48fe2246bcc52729315e7db8361d753ab6be1633 SOURCES/mmaa64.efi +08fa765dbe8902c022fe0d5b5803c14bc1e44a5c SOURCES/mmx64.efi +5749db804fd2a2cef94ae2a05680ac63854b3239 SOURCES/shimaa64.efi +1208043ca28f8566c115d8a15ba9bd8163b6badb SOURCES/shimx64.efi diff --git a/SOURCES/BOOTAA64.CSV b/SOURCES/BOOTAA64.CSV index 3ef9ab9..2564836 100644 Binary files a/SOURCES/BOOTAA64.CSV and b/SOURCES/BOOTAA64.CSV differ diff --git a/SOURCES/BOOTX64.CSV b/SOURCES/BOOTX64.CSV index 38a9ef0..4aa8eae 100644 Binary files a/SOURCES/BOOTX64.CSV and b/SOURCES/BOOTX64.CSV differ diff --git a/SOURCES/fbaa64.efi b/SOURCES/fbaa64.efi index e69de29..72bfeaf 100644 Binary files a/SOURCES/fbaa64.efi and b/SOURCES/fbaa64.efi differ diff --git a/SOURCES/mmaa64.efi b/SOURCES/mmaa64.efi index e69de29..2640283 100644 Binary files a/SOURCES/mmaa64.efi and b/SOURCES/mmaa64.efi differ diff --git a/SOURCES/shim.rpmmacros b/SOURCES/shim.rpmmacros index 1530a04..75030cc 100644 --- a/SOURCES/shim.rpmmacros +++ b/SOURCES/shim.rpmmacros @@ -3,6 +3,8 @@ %global vendor_token_str %{expand:%%{nil}%%{?vendor_token_name:-t "%{vendor_token_name}"}} %global vendor_cert_str %{expand:%%{!?vendor_cert_nickname:-c "Red Hat Test Certificate"}%%{?vendor_cert_nickname:-c "%%{vendor_cert_nickname}"}} +%global grub_version 2.06-27.el9_0.12 + %global bootcsvaa64 %{expand:%{SOURCE10}} %global bootcsvx64 %{expand:%{SOURCE12}} #%%global bootcsvarm %%{expand:%%{SOURCE13}} @@ -19,8 +21,8 @@ %global mmefix64 %{expand:%{SOURCE42}} #%%global mmefiarm %%{expand:%%{SOURCE43} -%global shimveraa64 15-6.el9.alma.1 -%global shimverx64 15.6-1.el9.alma.1 +%global shimveraa64 15.8-2.el9.alma.1 +%global shimverx64 15.8-2.el9.alma.1 #%%global shimverarm 15-1.el8 %global shimdiraa64 %{_datadir}/shim/%{shimveraa64}/aa64 @@ -60,6 +62,7 @@ Requires: dbxtool >= 0.6-3 \ Requires: almalinux(grub2-sig-key) >= 202303 \ Requires: almalinux(kernel-sig-key) >= 202303 \ %endif} \ +Conflicts: grub2-efi-%{-a*} < %{grub_version} \ %{expand:%%if 0%%{-p*} \ Provides: shim = %{version}-%{release} \ Provides: shim-signed = %{version}-%{release} \ @@ -174,10 +177,10 @@ install -m 0700 fb%{-a*}.efi \\\ # -A %define define_files(a:A:) \ %{expand:%%files -n shim-%{-a*}} \ -%{efi_esp_dir}/*%{-a*}*.efi \ -%{efi_esp_dir}/BOOT%{-A*}.CSV \ -%{efi_esp_boot}/*%{-a*}.efi \ -%{efi_esp_boot}/*%{-A*}.EFI \ +%%verify(not mtime) %{efi_esp_dir}/*%{-a*}*.efi \ +%%verify(not mtime) %{efi_esp_dir}/BOOT%{-A*}.CSV \ +%%verify(not mtime) %{efi_esp_boot}/*%{-a*}.efi \ +%%verify(not mtime) %{efi_esp_boot}/*%{-A*}.EFI \ %{nil} %ifarch x86_64 diff --git a/SPECS/shim.spec b/SPECS/shim.spec index 1df64a4..a222a5e 100644 --- a/SPECS/shim.spec +++ b/SPECS/shim.spec @@ -4,8 +4,8 @@ %global efi_esp_dir /boot/efi/EFI/%{efidir} Name: shim -Version: 15.6 -Release: 1.el9.alma.1 +Version: 15.8 +Release: 4%{?dist}.alma.1 Summary: First-stage UEFI bootloader License: BSD URL: https://github.com/rhboot/shim/ @@ -37,18 +37,18 @@ Source42: fbx64.efi %include %{SOURCE0} BuildRequires: pesign >= 0.112-20.fc27 -# We need this because %%{efi} won't expand before choosing where to make -# the src.rpm in koji, and we could be on a non-efi architecture, in which -# case we won't have a valid expansion here... To be solved in the future -# (shim 16+) by making the unsigned packages all provide "shim-unsigned", so -# we can just BuildRequires that. -%ifarch x86_64 -## BuildRequires: %% {unsignedx64} = %% {shimverx64} -BuildRequires: shim-unsigned-x64 = 15.6-1.el9.alma.1 -%endif -%ifarch aarch64 -BuildRequires: %{unsignedaa64} = %{shimveraa64} -%endif +# Right now we're just including all of the parts from them as sources here +# to make the build+errata process less maddening. We do this because +# %%{efi} won't expand before choosing where to make the src.rpm in koji, +# and we could be on a non-efi architecture, in which case we won't have a +# valid expansion here... +# %% ifarch x86_64 +# BuildRequires: %% {unsignedx64} = %% {shimverx64} +# BuildRequires: %% {unsignedia32} = %% {shimveria32} +# %% endif +# %% ifarch aarch64 +# BuildRequires: %% {unsignedaa64} = %% {shimveraa64} +# %% endif #%%ifarch arm #BuildRequires: %%{unsignedarm} = %%{shimverarm} #%%endif @@ -75,7 +75,7 @@ cd shim-%{version} %if %{efi_has_alt_arch} %define_build -a %{efi_alt_arch} -A %{efi_alt_arch_upper} -i %{shimefialt} -b yes -c %{is_alt_signed} -d %{shimdiralt} %endif -%define_build -a %{efi_arch} -A %{efi_arch_upper} -i %{shimefi} -b yes -c %{is_signed} -d %{shimdir} +%define_build -a %{efi_arch} -A %{efi_arch_upper} -i %{shimefi} -b yes -c %{is_signed} -d %{_sourcedir} %install rm -rf $RPM_BUILD_ROOT @@ -104,62 +104,97 @@ install -m 0700 %{shimefi} $RPM_BUILD_ROOT%{efi_esp_dir}/shim.efi %endif %if %{provide_legacy_shim} -%{efi_esp_dir}/shim.efi +%verify(not mtime) %{efi_esp_dir}/shim.efi %endif %changelog -* Thu Mar 09 2023 Eduard Abdullin - 15.6-1.el9.alma.1 +* Fri May 10 2024 Eduard Abdullin - 15.8-4.el9_3.alma.1 - Use AlmaLinux cert -* Mon Jun 06 2022 Peter Jones - 15.6-1.el9 -- Update to shim-15.6 - Resolves: CVE-2022-28737 +* Tue Apr 16 2024 Peter Jones - 15.8-4 +- Bump the release to *-4* to work around a build system issue. + Related: RHEL-11259 -* Thu Apr 14 2022 Peter Jones - 15.5-2.el9 -- Attempt to make aarch64 build. - Related: rhbz#1932057 +* Wed Apr 10 2024 Peter Jones - 15.8-3 +- Bump the release to -3 to work around a build system issue. + Related: RHEL-11259 -* Thu Apr 14 2022 Peter Jones - 15.5-1.el9 -- Rebuild for rhel-9.0.0 - Resolves: rhbz#1932057 +* Thu Mar 28 2024 Peter Jones - 15.8-2.el8 +- Fix rpm verify issue found in testing. + Related: RHEL-11259 + +* Thu Mar 21 2024 Peter Jones - 15.8-1.el8 +- Update to shim-15.8 for CVE-2023-40547 + Resolves: RHEL-11259 + +* Wed Apr 20 2022 Peter Jones - 15.5-2.el8 +- Include the actual signed shim binaries. + Resolves: rhbz#1970632 + Resolves: rhbz#1982071 + Resolves: rhbz#2000946 + Resolves: rhbz#2002265 + +* Tue Apr 19 2022 Peter Jones - 15.5-1 +- Update to shim-15.5 + Resolves: rhbz#1970632 + Resolves: rhbz#1982071 + Resolves: rhbz#2000946 + Resolves: rhbz#2002265 * Mon Sep 21 2020 Javier Martinez Canillas - 15-16 - Fix an incorrect allocation size + Resolves: rhbz#1877253 * Fri Jul 31 2020 Peter Jones - 15-15 - Update once again for new signed shim builds. + Resolves: rhbz#1861977 * Tue Jul 28 2020 Peter Jones - 15-14 - Get rid of our %%dist hack for now. * Tue Jul 28 2020 Peter Jones - 15-13 - New signing keys + Related: CVE-2020-10713 + Related: CVE-2020-14308 + Related: CVE-2020-14309 + Related: CVE-2020-14310 + Related: CVE-2020-14311 * Thu Jun 11 2020 Javier Martinez Canillas - 15-12 - Fix firmware update bug in aarch64 caused by shim ignoring arguments + Resolves: rhbz#1830871 - Fix a shim crash when attempting to netboot + Resolves: rhbz#1795654 * Fri Jun 07 2019 Javier Martinez Canillas - 15-11 - Update the shim-unsigned-aarch64 version number + Related: rhbz#1715879 * Fri Jun 07 2019 Javier Martinez Canillas - 15-10 - Add a gating.yaml file so the package can be properly gated + Related: rhbz#1681809 * Wed Jun 05 2019 Javier Martinez Canillas - 15-9 - Bump the NVR + Related: rhbz#1715879 * Wed Jun 05 2019 Javier Martinez Canillas - 15-7 - Make EFI variable copying fatal only on secureboot enabled systems + Resolves: rhbz#1715879 - Fix booting shim from an EFI shell using a relative path + Resolves: rhbz#1717061 * Thu Mar 14 2019 Peter Jones - 15-6 - Fix MoK mirroring issue which breaks kdump without intervention + Resolves: rhbz#1668966 * Thu Jan 24 2019 Peter Jones - 15-5 - Rebuild for signing once again. If the signer actually works, then: + Resolves: rhbz#1620941 * Tue Oct 16 2018 Peter Jones - 15-4 - Rebuild for signing + Resolves: rhbz#1620941 * Mon Aug 13 2018 Troy Dawson - Release Bumped for el8 Mass Rebuild