Quantcast
Channel: CodeSection,代码区,网络安全 - CodeSec
Viewing all articles
Browse latest Browse all 12749

【漏洞预警】QEMU高危漏洞可执行任意代码 影响国内多家公有云平台

0
0
【漏洞预警】QEMU高危漏洞可执行任意代码 影响国内多家公有云平台

2017-02-13 10:15:36
来源:安全客 作者:360GearTeam

阅读:954次
点赞(0)
收藏





【漏洞预警】QEMU高危漏洞可执行任意代码 影响国内多家公有云平台

漏洞描述

近期QEMU官方修复了由360GearTeam研究员李强报告的一个严重漏洞CVE-2017-2615,这是QEMU的VGA设备Cirrus CLGD 54xx VGA中存在一个内存越界访问读写漏洞,可以造成宿主机层面的任意代码执行,Xen官方对此漏洞编号为XSA-208。

由于历史原因及软件兼容性的考虑,很长一段时间QEMU的默认VGA设备是Cirrus CLGD 54xx VGA。使用QEMU作为用户态模拟的虚拟化软件如KVM,Xen(HVM模式)的VGA也默认是Cirrus,所以该漏洞会影响到使用KVM及Xen的云平台。

经过实际的版本比对分析,国内主流的公有云平台受到此漏洞影响,应及时安排升级处理。


【漏洞预警】QEMU高危漏洞可执行任意代码 影响国内多家公有云平台

漏洞检测

由于该漏洞存在于cirrus vga的模拟中,可以在guest中直接执行lspci(相关的软件包是pciutils)查看vga是否是cirrus,如果是则存在该漏洞,如下图:


【漏洞预警】QEMU高危漏洞可执行任意代码 影响国内多家公有云平台

修复方案

经过360GearTeam安全团队的分析,建议参考以下任一策略进行修复。

1. 自行更新QEMU版本或更新对补丁进行修复

补丁链接: https://lists.gnu.org/archive/html/qemu-devel/2017-02/msg00015.html


【漏洞预警】QEMU高危漏洞可执行任意代码 影响国内多家公有云平台

2. 修改启动虚拟机相关选项,不使用cirrus vga,改用std vga或者virtio vga

事实上,cirrus vga是90年代早期的设备,存在各种bug和安全问题。详细可以参考qemu vga的维护者Gerd Hoffmann的这篇文章qemu: using cirrus considered harmful(https://www.kraxel.org/blog/2014/10/qemu-using-cirrus-considered-harmful/)。在qemu的upstream中,已经准备放弃cirrus显卡模拟。


漏洞细节

该漏洞存在于Cirrus VGA的bitblt操作中,bitblt是bit block transfer的缩写。在VGA模拟中,会分配一段内存vram作为VGA的显示区域,进行bitblt的拷贝操作时,会在这个内存区域中进行数据的拷贝与传输。

该漏洞即发生在向后拷贝的安全检查中,直接看补丁。


【漏洞预警】QEMU高危漏洞可执行任意代码 影响国内多家公有云平台

在补丁中,pitch < 0时,表示是从vram的后面往前面拷贝数据,min表示的是前面的起始位置。未打补丁之前,会允许读写vram的前面部分,这可能导致读host的信息,也可能导致代码执行,造成宿主机层面代码任意执行。

运行PoC(漏洞验证代码)之后,在宿主机可以看到QEMU处于一个不正常的状态。


【漏洞预警】QEMU高危漏洞可执行任意代码 影响国内多家公有云平台

关于360GearTeam

360 Gear Team是360公司一支专注于云安全与互联网核心开源组件安全研究的新锐团队,2016年获QEMU、Xen、VirtualBox、Docker等虚拟化软件致谢67次,以及OpenSSL、NTP、Firefox等重要开源项目致谢49次,成立不到一年就荣获了上百次漏洞报告致谢。团队在保卫360自身内部业务的同时,也在守护互联网的安全。

【漏洞预警】QEMU高危漏洞可执行任意代码 影响国内多家公有云平台
【漏洞预警】QEMU高危漏洞可执行任意代码 影响国内多家公有云平台
本文由 安全客 原创发布,如需转载请注明来源及本文地址。
本文地址:http://bobao.360.cn/learning/detail/3490.html

Viewing all articles
Browse latest Browse all 12749