Ubuntu systems support secure boot using grub. grub contains a lot of parsers for file systems and other things which are a constant source of security issues.
In 26.10, we’d like to propose removing the following features from signed GRUB builds:
- Filesystems for /boot
- Remove btrfs, hfsplus, xfs, zfs
- Retain ext4, fat, iso9660 (and squashfs for snaps)
- Image formats:
- Remove jpeg, png
- Retain none
- We do not use images, but using that in your grub.cfg locally is a massive security risk (if even still allowed)
- Partition tables:
- Remove part_apple
- Retain part_gpt and part_msod
In addition to those simpler changes, we will also remove support for /boot on complex partition setups such as LVM, md-raid (except raid1), and LUKS-encrypted /boot. These abilities were inherited by Debian, but never tested in Ubuntu, and the Ubuntu installer always setup a separate bare ext4 partition.
As for encryption in particular, encryption of /boot only provided security by obscurity, but not actual security. You want to ensure the integrity of those pieces. Our TPM FDE solution correctly implements integrity in the early boot stage, and we are committed to keep iterating and improve it.
Keep in mind these changes only affect /boot. The file systems, partition tables, LUKS, LVM, RAID solutions continue working in the booted system - we are not removing them from the Linux kernel.
We understand these are controversial options; however we believe they’d substantial improve security, but also enable pivoting to a new unified boot solutions for our supported targets in the future.
The features will continue to be available without secure boot and security support (security support is only provided for secure boot scenarios).
The timing here is crucial, by performing the changes directly after an LTS, we can keep affected users on an LTS release with support for 10 years, rather than an interim release with 9 months of support.
