近日,国家信息安全漏洞共享平台(CNVD)收录了一个QEMU ‘hw/block/fdc.c’ VENOM远程内存破坏漏洞(CNVD-2015-03045,对应CVE-2015-3456)。攻击者可以在有问题的虚拟机中进行逃逸,一定条件下可以在宿主机中获得代码执行的权限。根据评估,“毒液(VENOM)”漏洞有可能使互联网上数以百万计的虚拟机受到威胁,进而影响到全球各大云服务提供商的数据和运行安全。目前,部分Linux厂商已经发布了补丁修补程序。
一、漏洞情况分析
QEMU是一套由Fabrice Bellard所编写的开源模拟处理器软件,主要用于管理多种类型的虚拟机,广泛用于各大GNU/Linux发行版(包括Debian, Gentoo, SUSE, RedHat, CentOS等)。漏洞存在于虚拟软盘驱动器(FDC)代码中,具体位于QEMU的虚拟软驱控制器的模拟代码中。
根据互联网上已公开的情况,漏洞原理可简要描述为:虚拟机操作系统通过FDC(该代码广泛应用于虚拟化平台和设备中)的输入输出端口发送搜索、读取、写入、格式化等指令与FDC进行通信。QEMU的虚拟FDC使用一个固定大小的缓冲区来存储这些指令及其相关数据参数。FDC通常会根据一定的算法为指令预留和跟踪存储资源,执行指令并重置缓冲区。攻击者可以从虚拟机系统发送这些指令和精心制作的参数数据到FDC,从而实现缓冲区的堆溢出,从虚拟机系统完成“逃逸”,达到在宿主机监控程序进程环境下执行任意代码的攻击目的。
CNVD对该漏洞的技术评级为“高危”。一旦成功利用,攻击者可以访问宿主机系统以及主机上运行的所有虚拟机,并能够提升相关权限,进而影响到宿主机所在本地和相邻网络。目前,由于虚拟软盘驱动器是当前计算机系统调用较少的一个组成部分,该漏洞又被称为VENOM(毒液)漏洞,是“虚拟环境中被忽视的业务操作”的英文缩写。
二、漏洞影响范围
漏洞影响广泛用于各大GNU/Linux发行版(包括Debian, Gentoo, SUSE, RedHat, CentOS等),特别是Xen、KVM以及本地QEMU客户端,部分影响产品的具体版本如下所示:
Ubuntu Ubuntu Linux 12.04 LTS i386
Ubuntu Ubuntu Linux 12.04 LTS amd64
RedHat Enterprise Linux Virtualization 5 server
RedHat Enterprise Linux Desktop Multi OS 5 client
Red Hat Enterprise Linux Workstation 6
Red Hat Enterprise Linux Server 6
Red Hat Enterprise Linux HPC Node 6
Red Hat Enterprise Linux Desktop 6
Red Hat Enterprise Linux Desktop 5 client
Red Hat Enterprise Linux 5 Server
Red Hat Enterprise Linux 7.0
Red Hat Enterprise _Virtualization 3.0
Red Hat OpenStack 4.0
Red Hat OpenStack 5.0
Red Hat OpenStack 6.0
Red Hat OpenStack 7.0
Xen Xen 4.5.0
QEMU QEMU 0
Oracle Enterprise Linux 6.2
Oracle Enterprise Linux 6
Oracle Enterprise Linux 5
Debian Linux 6.0 sparc
Debian Linux 6.0 s/390
Debian Linux 6.0 powerpc
Debian Linux 6.0 mips
Debian Linux 6.0 ia-64
Debian Linux 6.0 ia-32
Debian Linux 6.0 arm
Debian Linux 6.0 amd64
Citrix XenServer 6.0
CentOS CentOS 6
CentOS CentOS 5
根据安全机构的测试,目前VMware、微软hyper-V和Bochs管理程序并不受该漏洞的影响。
三、漏洞修复建议
根据CNVD技术组成员单位——奇虎360公司的测试分析,由于该漏洞为典型的堆溢出漏洞,即使虚拟机没有默认设置软驱配置,也存在利用可能。建议尽快在源码层面上对QEME实现补丁升级。已发布补丁的提供商如下所示:
QEMU:
https://git.qemu.org/?p=qemu.git;a=commitdiff;h=e907746266721f305d67bc0718795fedee2e824c
Xen Project:
https://xenbits.xen.org/xsa/advisory-133.html
Red Hat:
https://access.redhat.com/articles/1444903
Citrix:
https://support.citrix.com/article/CTX201078
FireEye:
https://www.fireeye.com/content/dam/fireeye-www/support/pdfs/fireeye-venom-vulnerability.pdf
Linode:
https://blog.linode.com/2015/05/13/venom-cve-2015-3456-vulnerability-and-linode/
Rackspace:
https://community.rackspace.com/general/f/53/t/5187
Ubuntu:
https://www.ubuntu.com/usn/usn-2608-1/
Debian:
https://security-tracker.debian.org/tracker/CVE-2015-3456
Suse:
https://www.suse.com/support/kb/doc.php?id=7016497
DigitalOcean:
https://www.digitalocean.com/company/blog/update-on-CVE-2015-3456/
f5:
https://support.f5.com/kb/en-us/solutions/public/16000/600/sol16620.html
此外,若产品为Xen、KVM或本地QEMU客户端的系统,建议审查并应用最新的漏洞补丁。
附:参考链接:
https://www.securityfocus.com/bid/74640
https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2015-3456
https://www.freebuf.com/news/67325.html
https://www.cnvd.org.cn/flaw/show/CNVD-2015-03045