1.
> Уязвимость проявляется при разборе содержимого файла конфигурации grub.cfg, который обычно размещается в разделе ESP (EFI System Partition) и может быть отредактирован атакующим, имеющим права администратора, без нарушения целостности подписанных исполняемых файлов shim и GRUB2.https://www.gnu.org/software/grub/manual/grub/grub.html#Usin...
У меня ВСЕ модули и ВСЕ настройки grub, включая grub.cfg и прочие которые он подгружает подписаны, так же как и ВСЕ ядра и инитрд. Не подписанный файл или с плохой цифровой подписью grub незагрузит и может прервать загрузку системы: set check_signatures=enforce .
Если grub.cfg изменить, то уязвимость не проявится, grub проверит цифровую подпись, увидеть что файл плохой и не будет его подгружать. Цепочку доверия и верификации между secure boot и IMA/EVM GRUB не нарушит.
Значит "уважаемая" RedHat опять что-то мутит...
PS:
У grub2 всеже есть баг или фичя:
1. Обнаружив плохую подпись или ее отсутствие grub не остановит загрузку, просто не будет загружать данный файл, и если возможно продолжит загрузку. Например в grub.cfg можно с помощью configfile включать другие конфигурационные файлы (https://www.gnu.org/software/grub/manual/grub/grub.html#Embe...) и если изменить их то grub.cfg отработает нормально но без загрузки измененного файла.
2. Если загрузка таки невозможна grub2 вываливается в рутовую "рескуэ" консоль где можно вводить ЛЮБЫЕ команды, включая: set check_signatures=no и дальше грузить все что захочешь!!! Я лично не раз этим пользовался чтобы прервать доверительную сертифицированный цепочку между secure boot и IMA/EVM. Баг это или фичя такая? В любом случае надо или отдельно от стандартного пароля grub (в core.img) защищать вываливание в консоль граба паролем или иметь опцию на подобие set rescue_console=off и устанавливать ее в переменные окружения как и check_signatures в grub core.img который верифицируется secure boot.
2.
> В большинстве Linux-дистрибутивов для верифицированной загрузки используется небольшая прослойка shim, заверенная цифровой подписью Microsoft.
С secure boot ВСЕ чужие публичные ключи должны удалятся. Это незыблемое требование Integrity. Вы сами, лично, должны создать свой ключ для secure boot и подписывать им grub core.img в котором находятся установленные переменные и публичный ключ для проверки подписей модулей grub, его настроек, а также ядер и инитрд. Наличие любого чужого публичного ключа, даже, такой уважаемой фирмы как M$, в secure boot неприемлимо!