负责维护Grub启动程序的Daniel Kiper在本周指出,他已发布了一个修补包,内置117个修补程序,其中有8个最严重的安全漏洞取得了CVE编号。
Grub为一来自GNU项目的启动程序,允许用户在同一设备上安装多个操作系统,并在启动时选择所要执行的操作系统,受到众多Linux版本的青睐。去年7月时,安全企业Eclypsium披露了一个藏匿于Grub2的安全漏洞CVE-2020-10713,它是个缓冲区溢出漏洞,允许黑客于内存中写入任何程序,代表黑客可在操作系统启动以前便植入恶意程序,还可长驻。
Kiper指出,自从该漏洞曝光以来,各方人马便开始仔细检验启动程序的安全性,特别是Grub,使得他们开始收到不同的漏洞报告,再加上他们自己发现的,在此次一并借由内置117个修补程序的修补包来解决。
Kiper列出了其中因特别严重而取得了CVE编号的8个安全漏洞,它们分别是CVE-2020-14372、CVE-2021-20233、CVE-2020-25632、CVE-2020 -27779、CVE-2021-20225、CVE-2020-27749、CVE-2021-3418与CVE-2020-25647。
其中,CVE-2020-14372存在于当激活安全启动时,acpo命令允许特权用户加载特定的ACPI表格;CVE-2021-20233则是菜单渲染时可能会出现内存毁损;CVE-2020-25632为rmmod命令的释放后使用漏洞;CVE-2020-27779出现在cutmem命令中,允许特权用户关闭特定的内存区域,意味着也能关闭安全启动保护;CVE- 2021-20225则是因选项解析器含有一个堆积缓冲区,让特权用户可于激活安全启动时执行任意程序;CVE-2020-27749也是出现在激活安全启动之际,在处理命令行选项时出现堆积缓冲区溢出,允许特权用户执行任意程序。
CVE-2021-3418则是因为Grub 2.05而再度出现的CVE-2020-15705漏洞,在缺乏shim的情况下直接启动,未能验证核心签章而绕过安全启动;CVE -2020-25647可利用特定的USB设备描述信息来造成内存毁损,让本地端用户在激活安全启动的状态下执行任意程序。
Kiper提醒,要完整部署所有的CVE必须先更新UEFI撤销列表,否则可能会无法以现有的启动构件(Boot Artifact)执行安全启动。
包括Ubuntu、Debian、红帽与Suse都已贴出相关的安全公告。