一个潜伏了大约16年的UEFI固件漏洞被公开,编号为CVE-2026-97631,其CVSS 4.0评分高达9.5分(满分10分)。
这个漏洞位于开源UEFI参考实现TianoCore EDK II的PXE网络启动驱动中。攻击者在特定条件下,可以在操作系统启动前执行恶意代码,从而影响使用了相关组件的服务器及其他设备。
根据TianoCore在10月22日(当地时间)发布的安全公告,漏洞的根源在于EDK II的PXE Base Code驱动(NetworkPkg / UefiPxeBcDxe)。该驱动在处理ICMP错误报文时,存在缓冲区越界写入问题。相关代码将接收到的数据复制到一个固定大小为504字节的缓冲区中,但未能正确限制复制长度,攻击者可以利用超长报文覆盖相邻内存区域。
该漏洞编号为CVE-2026-97631,CVSS 4.0评分为9.5,被认定为严重级别。相关代码可追溯至约2010年,至今已存在约16年。
攻击者可以在目标设备通过PXE进行网络启动时,向其发送经过特殊构造的ICMP错误报文,从而触发缓冲区溢出。成功利用后,攻击者可能在操作系统加载前执行任意代码;即使未能实现代码执行,也可能导致系统启动过程异常或中断。
该漏洞的特殊风险在于,攻击发生在操作系统及其安全防护机制加载之前。根据相关安全公告,恶意代码可能在安全启动和度量启动完成相关校验之前执行,因此,不能单纯依靠这些机制来防御此类攻击。不过,成功利用漏洞执行任意代码需要针对目标固件环境进行适配,并非发送报文就必然能够取得控制权。
EDK II是众多硬件厂商构建UEFI固件时使用的开源代码基础,相关实现被AMI、Insyde、Phoenix等固件供应商采用,微软的Project Mu也使用了相关组件。因此,漏洞影响范围可能涉及多家厂商的服务器及其他硬件设备,但具体受影响范围仍取决于设备采用的固件版本、组件配置及是否启用了PXE网络启动。
需要注意的是,该漏洞并不意味着所有服务器都可以直接遭到远程攻击。攻击者需要能够在目标设备进行PXE网络启动期间向其发送相应报文。如果设备仅从本地硬盘或SSD启动,且不使用受影响的网络启动组件,则不属于上述攻击场景。
好消息是,TianoCore已于10月15日将相关修复合并至EDK II上游主分支,但截至目前,修复尚未纳入稳定版本。红帽安全公告显示,RHEL 8、RHEL 9和RHEL 10中的edk2软件包均被列为受影响,相关修复状态仍需进一步跟进。

2条评论