VirtualBox 虚拟机逃逸漏洞通告(CVE-2020-2905)

来源:scanv2020.04.26

一 漏洞概述

Oracle Virtualization 是美国甲骨文(Oracle)公司的一套虚拟化解决方案。该产品用于统一管理从应用程序到磁盘的整个硬件和软件体系,可实现从桌面到数据中心的虚拟化。VM VirtualBox 是其中的一个虚拟机组件。

USB 3.0 XHCI 模块 是 VirtualBox 中负责实现虚拟机连接 USB3.0 设备的通信模块。

VirtualBox USB 3.0 XHCI 模块 存在 越界写漏洞本地攻击者通过在虚拟机内部执行特定程序,可以造成 虚拟机逃逸

建议广大用户及时安装最新补丁,做好资产自查以及预防工作,以免遭受黑客攻击。

二 影响版本

  • VirtualBox:6.1.6以下版本

三 复现过程

该漏洞是个数组越界读写,存在于 xhciR3WriteEvent 函数, iIntr 参数可以被攻击者控制。从 IDA Pro 的 Structures段可以得知 aInterrupters 数组只有8个元素,但是 iIntr 的值却可以是0~1023。iIntr 用来对 aInterrupters 数组进行索引,但代码未对 iIntr 值进行校验,因此造成了堆溢出。

可利用性分析

  1. 攻击者可以进行越界写,比如在函数 xhciR3WriteEvent 中变量 v4是被攻击者控制的,下面代码会将 v4 的值写入 v7->errp中,v7即是从 aInterrupters 数组中取出的越界的地址。

  2. 攻击者通过内存布局,将代码中的关键数据结构布局到越界写的数据内容之后,可覆盖关键数据结构的值,从而造成虚拟机逃逸。

四 影响范围

根据 ZoomEye 网络空间搜索引擎对关键字 “VirtualBox” 进行搜索,共得到 6,620 条 历史记录,主要分布在美国、德国等国家。

五 修复建议

及时将 VirtualBox 升级到6.1.6版本:https://www.virtualbox.org/wiki/Downloads

 

六 相关链接

1.ZoomEye:https://www.zoomeye.org/searchResult/report?q=VirtualBox

2.VirtualBox 官方:https://www.virtualbox.org/wiki/Downloads

3.Oracle官方:https://www.oracle.com/security-alerts/cpuapr2020.html

热门文章

关注知道创宇云安全

获取安全动态