前言:Grub2的开发者报告了8个漏洞。其中一些漏洞可以绕过Secure Boot,这让更新过程变得非常复杂。
GNU Grub2需要更新一大堆的安全补丁。虽然其中一些补丁是通过Linux发行版中的包更新来实现的,但要彻底消除所有8个报告的漏洞,需要在UEFI安全启动中撤销签名。
这种方法听起来似曾相识,因为这种方法在去年修复GNU Grub2中的 "Boothole "漏洞也使用过。但是,正如维护者Daniel Kiper在邮件中强调的那样,更新这些漏洞的密钥数据库(DBX)可能会导致一些问题的。Kiper说,在某些情况下,对所发现的漏洞进行修复在某些系统上是不可行的,因为这样一来,Secure Boot就根本无法工作了。
漫长的工作
本次更新旨在修复8个漏洞。这些漏洞是在 "Boothole "之后的清理过程中被发现的,三十几个外部开发者和引导加载器的维护者进行了大量的努力。在有着安全启动的情况下,这8个漏洞中的某些漏洞可以在没有有效签名的情况下重新加载内核模块。
如果你想彻底修复这些漏洞,仅仅更新有问题的代码是不够的。除了更新代码以外,漏洞版本的软件签名至少要被部分屏蔽。然而,这可能意味着一些系统无法再使用Secure Boot启动。
从Debian 、Canonical到Ubuntu 、Red Hat 和Suse都已经有了具体的措施,这些发行版提供了更多关于更新过程的具体信息。彻底消除所有的漏洞将是一项漫长的工作,需要分几个步骤进行,也可能需要受影响的用户重新设置相关配置。
最后
Grub2更新方法:
sudo pacman -Syu
更新之后,对于双系统的用户,你可能想启用os-prober来检测除了Manjaro之外的其他操作系统。此时你只需打开终端,运行以下命令即可。
sudo echo GRUB_DISABLE_OS_PROBER=false >> /etc/default/grub && sudo update-grub
如果提示权限不够,先执行以下命令:sudo su