漏洞风险提示 | qemu-kvm 虚拟机逃逸漏洞(CVE-2020-14364)

admin 2020年8月25日10:45:01评论511 views字数 973阅读3分14秒阅读模式
        长亭漏洞风险提示       


     qemu-kvm 虚拟机逃逸漏洞

(CVE-2020-14364)


8 月 24 日,qemu 官方更新了安全补丁,修复了一处数组越界读写的漏洞,漏洞编号为 CVE-2020-14364:https://access.redhat.com/security/cve/cve-2020-14364


CVE-2020-14364 漏洞可越界读写某一个堆之后 0xffffffff 的内容,根据该漏洞可以很轻松实现完整的虚拟机逃逸。


长亭科技安全研究团队经过研究后,认为该漏洞是 Qemu 历史上最严重的虚拟机逃逸漏洞,影响到绝大部分使用 OpenStack 的云厂商。各云厂商需要对此漏洞引起重视,并尽快修复。


漏洞描述


漏洞存在于 ./hw/usb/core.c 中。因为 libvirt 启动的虚拟机默认会有 usb 设备连接,而任何 usb 接口(如 uhci、ehci、xhci)与 usb 设备(如 usb-tablet、usb-mouse 等)之间交互都会经过 core.c 文件中的 usb_process_one 函数。而 usb_process_one 中可能进入的两个分支 do_parameter 和 do_token_setup 均存在一个问题:在检查最终需要使用的长度前已经提前设置了 s->setup_len:


漏洞风险提示 | qemu-kvm 虚拟机逃逸漏洞(CVE-2020-14364)

漏洞风险提示 | qemu-kvm 虚拟机逃逸漏洞(CVE-2020-14364)


而且在长度检查未通过的情况下并未将 s->setup_len 改为0,从而导致之后的 do_token_in 与 do_token_out 越界读写了 s->data_buf 这个数组。


影响范围


  • Qemu 1.x 至今。触发该漏洞需要虚拟机至少连接有一个 usb 设备。


解决方案


  • 各云厂商可参考以下补丁进行漏洞修复:
    https://www.openwall.com/lists/oss-security/2020/08/24/3/1


参考资料



  • https://access.redhat.com/security/cve/cve-2020-14364

  • https://www.openwall.com/lists/oss-security/2020/08/24/2

  • https://www.openwall.com/lists/oss-security/2020/08/24/3

  • https://www.openwall.com/lists/oss-security/2020/08/24/3/1


漏洞风险提示 | qemu-kvm 虚拟机逃逸漏洞(CVE-2020-14364)


漏洞风险提示 | qemu-kvm 虚拟机逃逸漏洞(CVE-2020-14364)




  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2020年8月25日10:45:01
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   漏洞风险提示 | qemu-kvm 虚拟机逃逸漏洞(CVE-2020-14364)https://cn-sec.com/archives/102299.html

发表评论

匿名网友 填写信息