本周四(10月8日),俄罗斯安全专家Sergey Zelenyuk在没有等待甲骨文(Oracle)公司发布修复补丁的情况下就公开披露了一个影响到Oracle VirtualBox虚拟机软件的0day漏洞的完整细节,包括漏洞利用的演示视频。

Sergey Zelenyuk表示,之所以在甲骨文发布修复补丁之前就选择公开披露此漏洞,是因为他对漏洞赏金计划和安全研究的当前状态不满。他在GitHub上写道:“我喜欢VirtualBox,它与我为什么发布0day漏洞无关。原因是我对当前的信息安全状态,特别是安全研究和漏洞赏金方面持有不同意见。”

从GitHub页面公布的漏洞细节来看,这个漏洞会影响到当前所有的 VirtualBox 版本(即VirtualBox 5.2.20及更早版本),并适用于主机操作系统和客户机操作系统,因为它存在于共享代码库中。利用此漏洞的唯一前提条件是,网卡必须是英特尔PRO/1000 MT Desktop (82540EM),且VirtualBox设置的模式是NAT。

Sergey Zelenyuk在Ubuntu 16.04和18.04 x86-64位客户机上成功完成了测试,但他认为漏洞利用代码也适用于Windows。为此,他还通过GitHub页面公布了一段漏洞利用演示视频的链接

“漏洞利用涉及到利用Linux内核模块(LKM)来加载客户机操作系统。对于Windows而言,则需要一个不同于LKM的驱动程序,只需要初始化Wrapper和内核API调用。”Sergey Zelenyuk在GitHub上写道。

内存损坏错误是导致此漏洞的根本原因,***者可以通过利用此漏洞在目标系统上获得更高的特权(root用户或管理员权限),从而可以从VirtualBox虚拟机上运行的客户机操作系统转移到主机操作系统。

Sergey Zelenyuk建议VirtualBox用户,在甲骨文发布修复补丁之前,可以将虚拟机上的网卡更改为AMD PCnet或准虚拟化网络,也可以通过避免使用NAT模式(切换为另一个模式)来缓解此问题。