影响英特尔处理器的 Reptar 漏洞

谷歌安全研究员 Tavis Ormandy 发现了英特尔处理器中的一个新漏洞(CVE-2023-23583),代号为 Reptar,该漏洞主要对运行不同用户虚拟机的云系统构成威胁。 当在非特权来宾系统上执行某些操作时,该漏洞会导致系统挂起或崩溃。 为了测试您的系统,我们发布了一个实用程序,为漏洞的表现创造条件。

理论上,该漏洞可用于将权限从第三个保护环提升到零保护环(CPL0)并逃离隔离环境,但由于微架构层面的调试困难,这种场景尚未在实践中得到证实。 英特尔的一项内部审查还显示,在某些条件下,有可能利用该漏洞来升级权限。

研究人员表示,该漏洞存在于 Intel Ice Lake、Rocket Lake、Tiger Lake、Raptor Lake、Alder Lake 和 Sapphire Rapids 处理器系列中。 Intel报告提到,该问题从第10代(Ice Lake)Intel Core处理器和第三代Xeon Scalable处理器以及Xeon E/D/W处理器(Ice Lake、Skylake、Haswell、Broadwell)开始出现。 、Skylake、Sapphire Rapids、Emerald Rapids、Cascade Lake、Cooper Lake、Comet Lake、Rocket Lake)和 Atom(阿波罗湖、贾斯珀湖、亚利桑那海滩、Alder Lake、Parker Ridge、Snow Ridge、Elkhart Lake 和 Denverton)。 该漏洞已在昨天的微代码更新 20231114 中修复。

该漏洞是由于在某些微架构环境下,“REP MOVSB”指令的执行使用过多的“REX”前缀进行编码,从而导致未定义的行为。 该问题是在测试冗余前缀时发现的,理论上应该忽略这些前缀,但实际上会导致奇怪的效果,例如忽略无条件分支以及破坏 xsave 和 call 指令中的指针保存。 进一步分析表明,向“REP MOVSB”指令添加冗余前缀会导致用于对指令进行排序的 ROB(重新排序缓冲区)缓冲区的内容损坏。

认为该错误是由于“MOVSB”指令的大小计算不正确,导致前缀过多的MOVSB之后写入ROB缓冲区的指令寻址违反的指令指针。 这种去同步可以限于中断中间计算以及随后恢复积分状态。 但是,如果同时使多个内核或 SMT 线程崩溃,则可能会损坏微架构状态,足以导致崩溃。

来源: opennet.ru

添加评论