簡單嚟講,攻擊步驟如下:
direct=1角色嘅shadow page。direct=0。kvm_mmu_get_child_sp()搵緊可以重用嘅shadow page嗰陣,因為GFN吻合,佢就搵到咗舊嗰個shadow page。但佢冇比對個direct角色。結果,舊嗰個direct=1嘅shadow page就被錯誤咁重用咗喺需要direct=0嘅新環境入面 。sptep(shadow頁表項目指標)依然會被rmap走訪(例如進行dirty logging或MMU notifier失效操作)所引用,從而引發use-after-free嘅情況 。CVE-2026-53359嘅後果好嚴重,特別係喺多租戶嘅雲端環境入面。
/dev/kvm設為全域可寫(0666)嘅發行版上,一個冇權限嘅本地用戶可以利用呢個漏洞嚟進行可靠嘅本地權限提升 。Linux核心社群迅速回應咗呢個問題。修補程式已經提交到主線核心,並向後移植到穩定核心,全部喺2026年7月4日發布 。
81ccda30b4e83d8f5cc4fd50503c44e3a33abfeb 同佢嘅後向移植)加強咗kvm_mmu_get_child_sp()嘅驗證邏輯。依家重用一個shadow page之前,需要同時客體幀號 同 MMU角色都匹配,防止咗導致use-after-free嘅角色錯配重用問題 。雖然打補丁係唯一嘅徹底解決方法,管理員可以實施以下臨時措施嚟減少攻擊面:
/dev/kvm存取權限: 為咗防止冇權限嘅用戶進行本地權限提升,可以限制KVM裝置嘅存取。用指令 chmod 660 /dev/kvm 更改權限,並只將可信嘅用戶加入 kvm 群組 。