Mantic+noble inadvertently includes the luks2 module in signed grub-efis

Bug #2043101 reported by Mate Kukri
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
grub2-unsigned (Ubuntu)
Status tracked in Noble
Mantic
Fix Committed
Undecided
Mate Kukri
Noble
Fix Released
Undecided
Mate Kukri

Bug Description

[ Impact ]

 * The luks2 module was accidentally enabled during a merge from Debian. This
   isn't intended to be a supported feature, and we should disable it before
   users accidentally start relying on it.

 * Removing it early in the mantic cycle reduces the chance someone relies on
   it, and hence gets broken when upgrading to noble where it is already gone.

[ Test Plan ]

 * Boot GRUB2 in Secure Boot mode and make sure LUKS2 is unavailable.
   (e.g. insmod luks2 should throw an error)

[ Where problems could occur ]

 * If someone already managed to create a Mantic install with /boot on a LUKS2
   encrypted location, this update will break booting with Secure Boot on.

 * However this was never a supported configuration from any installer, and this required deliberate manual effort to achieve.

Related branches

CVE References

Mate Kukri (mkukri)
tags: added: foundations-todo
Changed in grub2-unsigned (Ubuntu Mantic):
assignee: nobody → Mate Kukri (mkukri)
Changed in grub2-unsigned (Ubuntu Noble):
assignee: nobody → Mate Kukri (mkukri)
Mate Kukri (mkukri)
Changed in grub2-unsigned (Ubuntu Noble):
status: New → Fix Released
status: Fix Released → In Progress
Changed in grub2-unsigned (Ubuntu Mantic):
status: New → In Progress
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (5.5 KiB)

This bug was fixed in the package grub2-unsigned - 2.12~rc1-12ubuntu2

---------------
grub2-unsigned (2.12~rc1-12ubuntu2) noble; urgency=medium

  * Merge from Debian unstable; remaining changes:
    - Add Ubuntu sbat data
    - build-efi-images: do not produce -installer.efi.signed. LP: 1863994
    - grub-common: Install canonical-uefi-ca.crt
    - Check signatures
    - Support installing to multiple ESP (LP: 1871821)
    - Disable various bits on i386
    - Split out unsigned artefacts into grub2-unsigned
    - Vcs-Git: Point to ubuntu packaging branch
    - Relax dependencies on grub-common and grub2-common
    - grub-pc: Avoid the possibility of breaking grub on SRU update due
      to ABI change
    - UBUNTU: Default timeout changes
    - Revert "Add jfs module to signed UEFI images. Closes: #950959"
    - Revert "Add f2fs module to signed UEFI images"
    - Install grub-initrd-fallback.service again
    - Build using -O1 on s390x to avoid misoptimization
    - grub-check-signatures: Support gzip compressed kernels (LP: #1954683)
    - grub-multi-install: Reset partition type between partitions (LP: #1997795)
    - Drop i386 from grub-efi-amd64* (LP: #2020907)
    - Turn depends on grub-efi-amd64/arm64 unversioned
    - forward port fix for LP: #1926748
    - Make the grub2/no_efi_extra_removable setting work correctly
    - Forward port the fix for LP: #1930742 and make it conditional (xenial/bionic only)
    - Build grub2-unsigned packages with xz compression
    - Revert: "Have -bin packages Break pre-2.12 -signed packages.", this is not
      compatible with our versioning schemes.
    - Install a /usr/lib/grub/grub-sort-version and use that to sort versions as
      it respects GRUB_FLAVOUR_ORDER. Depend on python3 to do so.
    - rules: Add DPKG_BUILDPACKAGE_OPTIONS to generate-grub2-unsigned
    - Replaced patches:
      - installe-signed.patched
      - grub-install-extra-removable.patch
      - grub-install-removable-shim.patch
    - Added patches:
      + rhboot-f34-dont-use-int-for-efi-status.patch
      + rhboot-f34-make-exit-take-a-return-code.patch
      + suse-grub.texi-add-net_bootp6-document.patch
      + ubuntu-add-devicetree-command-support.patch
      + ubuntu-add-initrd-less-boot-fallback.patch
      + ubuntu-add-initrd-less-boot-messages.patch
      + ubuntu-boot-from-multipath-dependent-symlink.patch
      + ubuntu-dont-verify-loopback-images.patch
      + ubuntu-fix-lzma-decompressor-objcopy.patch
      + ubuntu-grub-install-extra-removable.patch
      + ubuntu-install-signed.patch
      + ubuntu-mkconfig-leave-breadcrumbs.patch
      + ubuntu-os-prober-auto.patch
      + ubuntu-recovery-dis_ucode_ldr.patch
      + ubuntu-resilient-boot-boot-order.patch
      + ubuntu-resilient-boot-ignore-alternative-esps.patch
      + ubuntu-shorter-version-info.patch
      + ubuntu-speed-zsys-history.patch
      + ubuntu-support-initrd-less-boot.patch
      + ubuntu-verifiers-last.patch
      + ubuntu-zfs-enhance-support.patch
      + ubuntu-zfs-gfxpayload-dynamic.patch
      + ubuntu-zfs-gfxpayload-keep-default.patch
      + ubuntu-zfs-insmod-xzio-and-lzopio-on-xen.patch
      + ubuntu-zfs-mkconfig-recovery-title.patch
     ...

Read more...

Changed in grub2-unsigned (Ubuntu Noble):
status: In Progress → Fix Released
Revision history for this message
Łukasz Zemczak (sil2100) wrote :

The change itself is fine, although I'm a bit worried. What if users already started depending on it? This is why I would like a full SRU template here in the description: how will we verify it (that it's actually disabled and unavailable), what is the regression potential (so also asking the question, what IF someone already started using it?).

Thank you.

Changed in grub2-unsigned (Ubuntu Mantic):
status: In Progress → Incomplete
Mate Kukri (mkukri)
description: updated
Revision history for this message
Steve Langasek (vorlon) wrote : Please test proposed package

Hello Mate, or anyone else affected,

Accepted grub2-unsigned into mantic-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/grub2-unsigned/2.12~rc1-10ubuntu4.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-mantic to verification-done-mantic. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-mantic. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

description: updated
Changed in grub2-unsigned (Ubuntu Mantic):
status: Incomplete → Fix Committed
tags: added: verification-needed verification-needed-mantic
Revision history for this message
Steve Langasek (vorlon) wrote :

Hello Mate, or anyone else affected,

Accepted grub2 into mantic-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/grub2/2.12~rc1-10ubuntu4.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-mantic to verification-done-mantic. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-mantic. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Revision history for this message
Ubuntu SRU Bot (ubuntu-sru-bot) wrote : Autopkgtest regression report (grub2/2.12~rc1-10ubuntu4.1)

All autopkgtests for the newly accepted grub2 (2.12~rc1-10ubuntu4.1) for mantic have finished running.
The following regressions have been reported in tests triggered by the package:

ubiquity/23.10.8 (armhf)

Please visit the excuses page listed below and investigate the failures, proceeding afterwards as per the StableReleaseUpdates policy regarding autopkgtest regressions [1].

https://people.canonical.com/~ubuntu-archive/proposed-migration/mantic/update_excuses.html#grub2

[1] https://wiki.ubuntu.com/StableReleaseUpdates#Autopkgtest_Regressions

Thank you!

Revision history for this message
Mate Kukri (mkukri) wrote :

All tests are passing now, will do the verification soon.

Revision history for this message
Mate Kukri (mkukri) wrote :

Verification okay, with secure boot enabled, I get the expected result:

grub> insmod luks2
error: prohibited by secure boot policy.

tags: added: verification-done verification-done-mantic
removed: verification-needed verification-needed-mantic
Revision history for this message
Jools Wills (jools) wrote :

Just to note this caught me out. I switched my Mantic system to use an encrypted root some weeks ago, and used luks2 (with pbkdf2 as Argon2 isn't supported by grub2).

This was working fine, but I decided to upgrade early to Noble today, only to find my system unbootable. I managed to sort it once I realised what the problem was (by converting to luks1), but I personally would have preferred this functionality left in, even if it's not supported by the official Ubuntu installer.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.