VHOST/VHOST_NET是QEMU-KVM虛擬化平臺中VIRTIO(I/O虛擬化框架)Network的后端實現方案,在Linux內核層面負責處理虛擬機的網絡包收發(fā)功能。虛擬機中VIRTIO Network前端驅動通過與宿主機內核中的VHOST/VHOST_NET通信,將網絡包收發(fā)任務交給VHOST/VHOST_NET來處理,實現網絡虛擬化。
目前漏洞相關細節(jié)和驗證代碼已公開,Linux發(fā)行版廠商已發(fā)布補丁完成修復。
漏洞編號
CVE-2019-14835
漏洞危害
攻擊者可通過在虛擬機中更改VIRTIO network前端驅動,在該虛擬機被熱遷移時,觸發(fā)內核緩沖區(qū)溢出實現虛擬機逃逸,獲得在宿主機內核中任意執(zhí)行代碼的權限,攻擊者也可觸發(fā)宿主機內核崩潰實現拒絕服務攻擊。
漏洞等級
高危
受影響版本
2.6.34版本到5.2.x版本的Linux內核。
修復方案
1、正式解決方案
Linux內核主線已于9月15日發(fā)布補丁,用戶可參照補丁代碼進行修復:
https://github.com/torvalds/linux/commit/060423bfdee3f8bc6e2c1bac97de24d5415e2bc4
https://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git/commit/?h=for_linus&id=060423bfdee3f8bc6e2c1bac97de24d5415e2bc4
使用Linux發(fā)行版本的用戶可按照發(fā)行版廠商公告來修復該漏洞:
RedHat: https://access.redhat.com/errata/RHSA-2019:2827
https://access.redhat.com/security/vulnerabilities/kernel-vhost
Ubuntu: https://usn.ubuntu.com/4135-2/
Debian: https://www.debian.org/security/2019/dsa-4531
SUSE:https://www.suse.com/security/cve/CVE-2019-14835
2、臨時解決方案:
(1)禁用熱遷移功能
由于此漏洞只有在虛擬機熱遷移過程中才會被觸發(fā),可以通過禁用虛擬機熱遷移來規(guī)避漏洞利用。
驗證方法:無法對虛擬機使用熱遷移。
(2)禁用內核vhost-net模塊
驗證方法:modprobe驗證virtio_net模塊未加載。
(3)RedHat版本緩解措施