转载

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

【漏洞预警】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

原文  http://bobao.360.cn/learning/detail/3490.html
正文到此结束
Loading...