Linux 5.18-rc3 之前提交了两个 Intel TSX(事务同步扩展)修复程序,并且还标记为向后移植到现有的 Linux 稳定内核。修复之一是解决系统仍然容易受到 TSX 异步中止 (TAA) 漏洞攻击的情况,另一个是 TSX 可能无法关闭的情况。 首先是在启动时禁用 TSX 开发模式
的更改。虽然英特尔微码更新使得所有 TSX 事务在默认情况下都会中止堡垒安全,但它还添加了“开发模式”来重新启用 TSX。通过这种微码 TSX 开发模式,系统可能会无意中容易受到 TSX Async Abort 漏洞的攻击。
某些 Intel 处理器上的微码更新会导致所有 TSX 事务在默认情况下始终中止 [*]。微码还添加了重新启用 TSX 以用于开发目的的功能。加载此微代码后,如果在 cmdline 上传递了 tsx=on,并且在内核启动之前已启用 TSX 开发模式,则可能会使系统容易受到 TSX 异步中止 (TAA) 的攻击。
为了更安全,在引导期间无条件禁用 TSX 开发模式。如果出现了可行的用例,可以稍后重新访问。
TSX 异步中止(TAA,正式名称为 CVE-2019-11135)在 2019 年被披露为一个硬件漏洞,导致通过 TSX 事务区域内的异步中止对 CPU 内部缓冲区中的数据进行无特权的推测性访问。
另一个修复是解决 TSX_FORCE_ABORT MSR 并非在所有 CPU 上都可用以禁用 TSX,因此现在在受支持的 CPU 上也使用 TSX_CTRL MSR。英特尔开发的补丁中的代码注释将其总结为“禁用 TSX 并非易事”。
这两个补丁都是在今天晚些时候发布的 Linux 5.18-rc3 内核之前于复活节早上提交的,同时这些补丁也被标记为向后移植到现有的稳定和维护的内核版本系列。