雖然相關的英特爾和AMD處理器已經對最近影響老一代處理器的Retbleed安全漏洞提供緩解措施,但這些緩解措施目前隻適用於x86_64內核,如果在受影響的硬件上運用傳統的x86內核,則這些安全措施無法發揮作用。除非有熱情的個人站出來,否則它不可能得到修復,因為上遊的開發者和供應商早已轉向隻關心x86_64的問題。
上周,在為緩解這種最新的投機執行攻擊而進行的一系列Linux補丁之後,有人指出,Linux x86 32位內核仍然容易受到Retbleed的攻擊。事實證明,32位的Debian即使打補丁的內核,i386部分仍然容易受到Retbleed攻擊。
AMD Zen 1/2和英特爾Skylake時代的CPU已經收到Retbleed緩解措施,它們都能夠運行x86_64軟件,所以現在能做的就是期望生產環境下的用戶避免使用32位內核。
Linux內核開發者第二把手Greg Kroah-Hartman回應說:"這很有趣。我不認為這是一個應該關心的有效組合,但是如果這是一個需要關心的"真實"的部分,我會讓Pawan[來自英特爾]來評論。"
Pawan Gupta回應說:"英特爾不認為在Skylake那一代以及以後的CPU上會有人使用32位模式的生產環境,所以這不應該是一個問題。"
英特爾的Peter Zijlstra補充說:"是的,到目前為止沒有人關心修復32位架構。但如果有人真正關心並想投入精力,我想我會審查這些補丁,但說真的,沒人會也不應該在基於Skylake/Zen的系統上運行32位內核,這太傻。"
首先這是因為它是相當舊的英特爾和AMD x86_64原生CPU,如果你在Skylake和Zen 1/2時代的硬件上運行32位Linux發行版,遇到的問題遠不僅僅是漏洞,例如因為使用x86_64軟件而錯失很多可能的性能。
今天在TIP的x86/speculation分支排隊的是一個補丁,它隻使Retbleed緩解措施現在可配置於x86_64。
對RETBleed的緩解措施目前在x86_32上是無效的,因為 entry_32.S 沒有使用所需的宏。然而,對於 x86_32 目標,它們的 kconfig 符號仍然是默認啟用的,並且 /sys/devices/system/cpu/vulnerabilities/retbleed 會錯誤地報告說緩解措施已經完成。所有這些都依賴於 x86_64,並且隻在 x86_64 上默認啟用 RETHUNK。
未來有可能有人會站出來改編Retbleed緩解代碼,使其適用於x86 32位架構,但這意義不大,因為真正存在的絕大多數用戶用戶在2022年的今天會運行x86_64 CPU和x86_64操作系統。
解更多:
https://lore.kernel.org/lkml/CA+G9fYv0N0FcYRp5irO_7TpheLcUY8LRMQbcZqwEmiRTEccEjA@mail.gmail.com/