Linux可修復初代AMD Zen除零運算後可能洩露數據的漏洞
在經歷了AMD Inception 漏洞和Intel Downfall 漏洞的周二補丁發布之後,Linux 內核今天又針對一個不同的問題合併了一個新的漏洞修復程序…… 原來,在某些情況下,AMD Zen 1處理器會在除以零後洩漏數據。
長期從事AMD Linux 開發的Borislav Petkov 編寫了一個內核補丁,以解決Ryzen 1000 系列和EPYC 7001 系列處理器的AMD Zen 1 bug。他在提交中解釋說:
x86/CPU/AMD:除以0 後不洩漏商數據
在某些情況下,Zen1 微體系結構上的整數除以0 出現故障時,可能會留下之前除法操作的陳舊商數據。
在從#DE 異常處理程序返回之前,先進行一次虛擬除法0/1,以避免任何潛在敏感數據的洩漏。
在代碼中,這個問題被簡單地稱為”AMD DIV0 投機錯誤”。
這一除法漏洞只在AMD Zen 1 處理器中發生。該補丁添加的內核信息還指出,禁用對稱多線程(SMT)是”完全”防止除0 出錯問題的方法。
幾分鐘前,這個補丁被合併到Linux 6.5 Git 中,同時也被標記為可反向移植到所有穩定的Linux 內核系列。