安全公告编号:CNTA-2019-0032 2019年9月,国家信息安全漏洞共享平台(CNVD)收录了由腾讯安全平台部Tencent Blade Team发现并报告的QEMU-KVM虚拟机内核逃逸漏洞(CNVD-C-2019-135439,对应CVE-2019-14835)。攻击者利用该漏洞,可在未授权的情况下实现虚拟机逃逸。目前漏洞相关细节和验证代码已公开,Linux发行版厂商已发布补丁完成修复。 一、漏洞情况分析 VHOST/VHOST_NET是QEMU-KVM虚拟化平台中VIRTIO(I/O虚拟化框架)Network的后端实现方案,在Linux内核层面负责处理虚拟机的网络包收发功能。虚拟机中VIRTIO Network前端驱动通过与宿主机内核中的VHOST/VHOST_NET通信,将网络包收发任务交给VHOST/VHOST_NET来处理,实现网络虚拟化。 2019年9月,国家信息安全漏洞共享平台(CNVD)收录了由腾讯安全平台部Tencent Blade Team发现并报告的QEMU-KVM虚拟机内核逃逸漏洞。由于VHOST/VHOST_NET缺少对内核缓冲区的严格访问边界校验,攻击者可通过在虚拟机中更改VIRTIO network前端驱动,在该虚拟机被热迁移时,触发内核缓冲区溢出实现虚拟机逃逸,获得在宿主机内核中任意执行代码的权限,攻击者也可触发宿主机内核崩溃实现拒绝服务攻击。 CNVD对该漏洞的综合评级为“高危”。 二、漏洞影响范围 漏洞影响的Linux内核版本如下: 2.6.34版本到5.2.x版本的Linux内核,参考该内核commit引入漏洞 https://github.com/torvalds/linux/commit/3a4d5c94e959359ece6d6b55045c3f046677f55c 三、漏洞处置建议 1、正式解决方案: Linux内核主线已于9月15日发布补丁,用户可参照补丁代码进行修复: https://github.com/torvalds/linux/commit/060423bfdee3f8bc6e2c1bac97de24d5415e2bc4 使用Linux发行版本的用户可按照发行版厂商公告来修复该漏洞: RedHat: https://access.redhat.com/errata/RHSA-2019:2827 https://access.redhat.com/security/vulnerabilities/kernel-vhost Ubuntu: https://usn.ubuntu.com/4135-2/ Debian: https://www.debian.org/security/2019/dsa-4531 SUSE:https://www.suse.com/security/cve/CVE-2019-14835 2、临时解决方案: (1)禁用热迁移功能 由于此漏洞只有在虚拟机热迁移过程中才会被触发,可以通过禁用虚拟机热迁移来规避漏洞利用。 验证方法:无法对虚拟机使用热迁移。 (2)禁用内核vhost-net模块 验证方法:modprobe验证virtio_net模块未加载。 (3)RedHat版本缓解措施 https://access.redhat.com/security/cve/cve-2019-14835 附参考链接: https://blade.tencent.com/achievements/v-ghost/ https://github.com/torvalds/linux/commit/060423bfdee3f8bc6e2c1bac97de24d5415e2bc4 https://access.redhat.com/errata/RHSA-2019:2827 https://access.redhat.com/security/vulnerabilities/kernel-vhost https://access.redhat.com/security/cve/cve-2019-14835 https://usn.ubuntu.com/4135-2/ https://people.canonical.com/~ubuntu-security/cve/2019/CVE-2019-14835.html https://www.debian.org/security/2019/dsa-4531 |