熱門資訊> 正文
2025-01-14 12:43
快科技1月14日消息,據報道,Linux內核6.13遭遇了一次嚴重的危機差點翻車,起因是微軟貢獻的代碼出現了問題,所幸Intel和AMD的及時介入解決了問題。
微軟提交的代碼主要與ARCH_HAS_EXECMEM_ROX內核配置相關,該配置用於改善x86_64/AMD64架構的性能,允許使用只讀執行(ROX)權限緩存可執行內存(EXECMEM)。
不過這段代碼未經x86內核維護者的確認(Ack)就被推送,導致了控制流完整性(CFI)的破壞。
控制流執行技術(CET)是一項關鍵的安全功能,它通過影子堆棧和間接分支目標(IBT)來防範返回導向編程(ROP)攻擊和調用/跳轉導向編程(COP/JOP)攻擊。
影子堆棧通過與硬件存儲的副本進行比較,確保返回地址的完整性,從而防止惡意軟件劫持合法軟件的進程步驟。
英特爾的Peter Zijlstra提交了緊急修復補丁,以恢復與EXECMEM_ROX支持相關的更改。
他指出,微軟的代碼導致alternative.c文件出現了巨大混亂,並且存在錯誤,部分CFI變體甚至會導致系統崩潰。
AMD的Borislav Petkov也對這一事件表示不滿,批評該代碼未經任何x86維護者確認就被合併,導致了一系列問題。