Oracle VM VirtualBox被爆安全漏洞Host數據可洩漏給Guest
以領導開發WireGuard 開源軟件而聞名的安全研究員Jason Donenfeld 近日概述了一個影響Oracle VM VirtualBox 軟件的安全漏洞。當在中斷處理程序中使用SIMD 寄存器時,VirtualBox 有可能將數據從主機洩露給客戶虛擬機。
Donenfeld 在內核郵件列表中解釋說:
我寫了一個小小的reproduce,用來測試這個問題應該是相當可靠的。我認為這證明了我的工作理論。在VirtualBox 虛擬機中運行這個,然後移動你的鼠標或敲擊鍵盤,或做一些觸發hardirq 處理器的add_{input,disk}_randomness() 路徑的事情。例如,在我的筆記本電腦上,軌跡點是通過hardirq進行的,但觸摸板卻不是。只要我移動軌跡點,下面的程序就會打印出”XSAVE is borked!”。
另外,請注意,這不僅僅是guest 虛擬機的”損壞”,而且還把host 虛擬機的秘密內容洩露到guest 中。所以你可能真的想確保VirtualBox 在5.18 之前發布一個修復,因為這可以說是安全敏感的。
這是在一個圍繞防止FPU狀態損壞的補丁系列中出現的,它源於最近隨機代碼的變化。另外,本月初是這個關於openSUSE的VirtualBox維護者沒有註意到Linux 5.18在VirtualBox虛擬機中崩潰的內核線程。
VirtualBox 還沒有修復這個問題,而Linux 開發者Thomas Gleixner在這個系列中補充說:
那個virtualborx 的bug 在任何情況下都必須被修復,因為這個問題永遠存在,而且過去也有驅動在硬中斷上下文中使用FPU的情況零星出現過,所以之前沒有爆出這個問題完全是運氣。AFAICT 這些年來,所有這些都被移到了softirq 上下文中,所以隨機代碼可能是今天mainline中唯一的硬中斷用戶。
為了用戶的利益,我們也許應該咬緊牙關,在上游和Cc穩定區禁止使用硬中斷FPU。穩定的內核更新可能更快到達用戶手中。