GLSA-202208-27:QEMU:多个漏洞

high Nessus 插件 ID 164115

语言:

描述

远程主机受到 GLSA-202208-27 中所述漏洞的影响(QEMU:多个漏洞)

- QEMU 4.2.0 的 hw/net/e1000e_core.c 中存在释放后使用问题,原因是客户机操作系统用户可将数据地址设置为 e1000e 的 MMIO 地址,从而触发 e1000e 数据包。(CVE-2020-15859)

- 在 2020 年 7 月 20 日之前的 QEMU 中,XGMAC 以太网控制器的 hw/net/xgmac.c 存在缓冲区溢出问题。此问题会在数据包传输期间发生,并影响 highbank 和 midway 模拟计算机。客户机用户或进程可利用此缺陷造成主机上的 QEMU 进程崩溃,进而导致拒绝服务,或者可能以进程的权限执行任意代码。此问题已在 commit 5519724a13664b43e225ca05351c60b4468e4555 中修复。
(CVE-2020-15863)

- 在 QEMU 5.0.0 及之前所有版本中,处理网络数据包的过程中可能发生断言失败。该问题会影响 e1000e 和 vmxnet3 网络设备。恶意的客户机用户/进程可利用此缺陷中止主机上的 QEMU 进程,导致 hw/net/net_tx_pkt.c 的 net_tx_pkt_add_raw_fragment 中出现拒绝服务情况。(CVE-2020-16092)

- 在 QEMU 6.0.0 之前版本的 SCSI 仿真支持中发现空指针取消引用缺陷。
特权客户机用户可利用此缺陷造成主机上的 QEMU 进程崩溃,从而导致拒绝服务。此漏洞最大的威胁在于系统可用性。(CVE-2020-35504)

- 在 QEMU 6.0.0 之前版本的 am53c974 SCSI 主机总线适配器仿真中发现空指针取消引用缺陷。在处理“信息传输”命令时会出现此问题。特权客户机用户可利用此缺陷造成主机上的 QEMU 进程崩溃,从而导致拒绝服务。
此漏洞最大的威胁在于系统可用性。(CVE-2020-35505)

- 在 QEMU 6.0.0 之前版本中,处理“Information Transfer”命令 (CMD_TI ) 期间,在 am53c974 SCSI 主机总线适配器仿真中发现释放后使用漏洞。客户机特权用户可利用此缺陷造成主机上的 QEMU 进程崩溃,进而导致拒绝服务情况,或可能以 QEMU 进程的权限执行代码。(CVE-2020-35506)

- 发现 qemu 中存在一个缺陷。发现 virtio-fs 共享文件系统后台程序中存在一个主机权限提升问题,特权客户机用户能够在共享目录中创建设备特殊文件,并使用该文件对主机设备进行读写访问。(CVE-2020-35517)

- 在 QEMU 5.2.0 之前版本的 vmxnet3 NIC 仿真器中发现一个整数溢出问题。如果来宾提供无效的 rx/tx 队列大小值或其他 NIC 参数值,则可能会发生此问题。有权限的来宾用户可能利用此缺陷造成主机上的 QEMU 进程崩溃,进而导致 DoS 情形。
(CVE-2021-20203)

- 在 QEMU 的 e1000 NIC 仿真器中发现无限循环缺陷。如果使用无效值初始化各种描述符字段,则在处理 process_tx_desc 中的传输 (tx) 描述符时会发生此问题。客户机用户可利用此问题消耗主机上的 CPU 周期,从而导致拒绝服务情形。此漏洞最大的威胁在于系统可用性。(CVE-2021-20257)

- 在 QEMU 的 virtio-fs 共享文件系统后台程序 (virtiofsd) 中发现缺陷。新的“xattrmap”选项可能导致客户机中的“security.capability”xattr 未在文件写入时终止,从而可能造成客户机中出现经过修改的特权可执行文件。在极少数情况下,恶意用户可利用此缺陷提升其在客户机中的权限。(CVE-2021-20263)

- 发现 CVE-2020-17380/CVE-2020-25085 的修补程序无效,因此,QEMU 容易受到之前在 SDHCI 控制器仿真代码中发现的越界读取/写入访问问题的影响。恶意特权客户机可利用此缺陷,造成主机上的 QEMU 进程崩溃,进而导致拒绝服务或潜在的代码执行。QEMU 5.2.0 及之前版本会受到此问题的影响。(CVE-2021-3409)

- 在 QEMU 5.2.0 及其之前版本的各种 NIC 仿真器中发现通过无限循环导致的潜在堆栈溢出问题。在 NIC 的环回模式(会绕过可重入的 DMA 检查)中会发生此问题。客户机用户/进程可能会利用此缺陷消耗 CPU 周期或造成主机上的 QEMU 进程崩溃,进而导致 DoS 情形。(CVE-2021-3416)

- 在 QEMU 的 USB 重定向器设备 (usb-redir) 中发现一个缺陷。小型 USB 数据包合并为单个大型传输请求,以减少开销并提高性能。批量传输的总大小用于在没有适当验证的情况下,在堆栈上动态分配可变长度数组 (VLA)。由于总大小未定界,恶意客户机可利用此缺陷影响数组长度,造成 QEMU 进程在堆栈上执行过度分配,进而导致拒绝服务。(CVE-2021-3527)

- 在 QEMU 6.0 及其之前版本的 virtio vhost-user GPU 设备 (vhost-user-gpu) 中发现多个内存泄漏。这些漏洞存在于 contrib/vhost-user-gpu/vhost-user-gpu.c 和 contrib/vhost-user-gpu/virgl.c 中,由有效生命周期后未正确释放内存(即空闲)所致。(CVE-2021-3544)

- 在 QEMU 6.0 及其之前版本的 virtio vhost-user GPU 设备 (vhost-user-gpu) 中发现信息泄漏漏洞。此缺陷存在于 contrib/vhost-user-gpu/virgl.c 的 virgl_cmd_get_capset_info() 中,由读取未初始化的内存所致。恶意客户机可利用此问题从主机泄漏内存。(CVE-2021-3545)

- 在 QEMU 6.0 及之前版本的 virtio vhost-user GPU 设备 (vhost-user-gpu) 中发现越界写入漏洞。在处理客户机的“VIRTIO_GPU_CMD_GET_CAPSET”命令时,会发生此缺陷。客户机特权用户可利用此缺陷,造成主机 QEMU 进程崩溃,进而造成拒绝服务情况,或可能以 QEMU 进程的权限执行代码。(CVE-2021-3546)

- 在 QEMU 中对 VMWare 的半虚拟化 RDMA 设备的实现中发现一个缺陷。由于内存重映射不当 (mremap),程序会在处理 PVRDMA_CMD_CREATE_MR 命令时发生此问题。恶意客户机可利用此缺陷造成主机上的 QEMU 进程崩溃。此漏洞最大的威胁在于系统可用性。(CVE-2021-3582)

- 在 QEMU 6.1.0 之前版本中,在 VMWare 的半虚拟化 RDMA 设备的实现中发现整数溢出缺陷。由于输入验证不当,程序在处理来自客户机的 PVRDMA_REG_DSRHIGH 写入时会发生此问题。特权客户机用户可利用此缺陷使 QEMU 分配大量内存,从而导致拒绝服务。此漏洞最大的威胁在于系统可用性。(CVE-2021-3607)

- 在 QEMU 6.1.0 之前版本中,在 VMWare 的半虚拟化 RDMA 设备的实现中发现缺陷。由于访问未初始化的指针,程序在处理来自客户机的 PVRDMA_REG_DSRHIGH 写入请求时会出现此问题,并且可能导致 QEMU 崩溃或不明行为。此漏洞最大的威胁在于系统可用性。(CVE-2021-3608)

- 在 QEMU 的 Intel HD Audio 设备 (intel-hda) 中发现堆栈溢出漏洞。恶意访客可利用此缺陷造成主机上的 QEMU 进程崩溃,从而导致拒绝服务情形。此漏洞最大的威胁在于系统可用性。此缺陷会影响 QEMU 7.0.0 之前版本。(CVE-2021-3611)

- 在 QEMU 6.1.0-rc2 之前版本的 USB 重定向器设备模拟中发现一个缺陷。由于数据包队列已满,在从 SPICE 客户端进行批量传输期间丢弃数据包时导致出现此缺陷。恶意 SPICE 客户端可利用此缺陷,通过伪造的堆区块元数据调用 QEMU,从而造成 QEMU 崩溃或可能使用 QEMU 进程的权限在主机上执行代码。(CVE-2021-3682)

- 在 QEMU 6.2.0-rc0 之前版本的 UAS (USB Attached SCSI) 设备模拟中发现一个越界写入缺陷。由于设备使用未经检查的客户机提供的流编号,因此可能导致对 UASDevice->data3 和 UASDevice->status3 字段进行越界访问。恶意来宾用户可利用此缺陷造成 QEMU 崩溃,或可能使用 QEMU 进程的权限在主机上执行代码。(CVE-2021-3713)

- 在 QEMU 的 virtio-net 设备中发现一个释放后使用漏洞。当描述符的地址属于非直接访问区域时即会发生这种情况,原因是在取消映射 virtqueue elem 后设置了 num_buffers。恶意来宾用户可利用此缺陷造成 QEMU 崩溃,从而导致拒绝服务情形或可能使用 QEMU 进程的权限在主机上执行代码。(CVE-2021-3748)

- 在 QEMU 的 USB EHCI 控制器仿真中发现 DMA 重入问题。在传输 USB 数据包时,EHCI 未验证缓冲区指针是否与其 MMIO 区域重叠。当设备仍在传输数据包时,攻击者可向控制器的寄存器写入特制内容,并触发不需要的操作(例如重置)。最终,这可导致释放后使用问题。恶意来宾用户可利用此缺陷造成主机上的 QEMU 进程崩溃,从而导致拒绝服务情形,或可能在主机上 QEMU 进程的环境中执行任意代码。此缺陷影响 QEMU 7.0.0 之前版本。(CVE-2021-3750)

- 在 QEMU 的 SCSI 设备模拟中发现差一错误。如果“page”参数设置为 MODE_PAGE_ALLS (0x3f),则在处理 mode_sense_page() 中的 MODE SELECT 命令时可能会发生此问题。恶意来宾可利用此缺陷使 QEMU 崩溃,从而造成拒绝服务情形。
(CVE-2021-3930)

- 在 NVME 组件的 QEMU 中发现堆栈缓冲区溢出漏洞。此缺陷存在于 nvme_changed_nslist() 中,其中控制特定输入的恶意客户机可越界读取内存。恶意用户可利用此缺陷导致敏感信息泄露。(CVE-2021-3947)

- 在 6.2.0 之前版本的 QEMU 块镜像层中发现一个空指针取消引用问题。
mirror_wait_on_conflicts() 将未经确认不是空指针的 `self` 指针取消引用。当写入数据达到镜像节点的阈值时,来宾机中的恶意无特权用户可利用此缺陷使主机上的 QEMU 进程崩溃。(CVE-2021-4145)

- 在 QEMU 的 QXL 显示设备仿真中发现一个缺陷。cursor_alloc() 函数中的整数溢出可导致分配小光标对象,随后导致基于堆的缓冲区溢出。恶意特权客户机用户可利用此缺陷造成主机上的 QEMU 进程崩溃,或可能在 QEMU 进程环境中执行任意代码。(CVE-2021-4206)

- 在 QEMU 的 QXL 显示设备仿真中发现一个缺陷。双重提取客户机控制的值 `cursor->header.width` 和 `cursor->header.height` 可导致分配小型光标对象,随后导致基于堆的缓冲区溢出。恶意特权客户机用户可利用此缺陷造成主机上的 QEMU 进程崩溃,或可能在 QEMU 进程环境中执行任意代码。(CVE-2021-4207)

- 在 QEMU 的 virtio-net 设备中发现一个缺陷。修复 CVE-2021-3748时无意间引入了此缺陷,该缺陷在出错时忘记取消映射缓存的 virtqueue 元素,从而导致内存泄漏和其他意外结果。受影响的 QEMU 版本:6.2.0。(CVE-2022-26353)

- 在 QEMU 的 vhost-vsock 设备中发现一个缺陷。如果出错,无效元素无法在释放内存前从 virtqueue 分离,从而导致内存泄漏和其他意外结果。
QEMU 6.2.0 及更低版本会受到影响。(CVE-2022-26354)

- 请检查引用的 CVE 标识符以了解详细信息。(CVE-2021-3929)

- QEMU:hw/acpi/pcihp.c 的 pci_write() 中发生空指针取消引用 (CVE-2021-4158)

- QEMU:virtiofsd:可能通过 CVE-2018-13405 升级权限 (CVE-2022-0358)

请注意,Nessus 尚未测试这些问题,而是只依靠应用程序自我报告的版本号来判断。

解决方案

所有 QEMU 用户皆应升级至最新版本:

# emerge --sync # emerge --ask --oneshot --verbose >=app-emulation/qemu-7.0.0

另见

https://security.gentoo.org/glsa/202208-27

https://bugs.gentoo.org/show_bug.cgi?id=733448

https://bugs.gentoo.org/show_bug.cgi?id=736605

https://bugs.gentoo.org/show_bug.cgi?id=773220

https://bugs.gentoo.org/show_bug.cgi?id=775713

https://bugs.gentoo.org/show_bug.cgi?id=780816

https://bugs.gentoo.org/show_bug.cgi?id=792624

https://bugs.gentoo.org/show_bug.cgi?id=807055

https://bugs.gentoo.org/show_bug.cgi?id=810544

https://bugs.gentoo.org/show_bug.cgi?id=820743

https://bugs.gentoo.org/show_bug.cgi?id=835607

https://bugs.gentoo.org/show_bug.cgi?id=839762

插件详情

严重性: High

ID: 164115

文件名: gentoo_GLSA-202208-27.nasl

版本: 1.5

类型: local

发布时间: 2022/8/15

最近更新时间: 2023/10/16

支持的传感器: Nessus

风险信息

VPR

风险因素: High

分数: 7.3

CVSS v2

风险因素: Medium

基本分数: 6.9

时间分数: 5.4

矢量: CVSS2#AV:L/AC:M/Au:N/C:C/I:C/A:C

CVSS 分数来源: CVE-2021-3748

CVSS v3

风险因素: High

基本分数: 8.5

时间分数: 7.6

矢量: CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H

时间矢量: CVSS:3.0/E:P/RL:O/RC:C

CVSS 分数来源: CVE-2021-3682

漏洞信息

CPE: p-cpe:/a:gentoo:linux:qemu, cpe:/o:gentoo:linux

必需的 KB 项: Host/local_checks_enabled, Host/Gentoo/release, Host/Gentoo/qpkg-list

可利用: true

易利用性: Exploits are available

补丁发布日期: 2022/8/14

漏洞发布日期: 2020/7/21

参考资料信息

CVE: CVE-2020-15859, CVE-2020-15863, CVE-2020-16092, CVE-2020-35504, CVE-2020-35505, CVE-2020-35506, CVE-2020-35517, CVE-2021-20203, CVE-2021-20257, CVE-2021-20263, CVE-2021-3409, CVE-2021-3416, CVE-2021-3527, CVE-2021-3544, CVE-2021-3545, CVE-2021-3546, CVE-2021-3582, CVE-2021-3607, CVE-2021-3608, CVE-2021-3611, CVE-2021-3682, CVE-2021-3713, CVE-2021-3748, CVE-2021-3750, CVE-2021-3929, CVE-2021-3930, CVE-2021-3947, CVE-2021-4145, CVE-2021-4158, CVE-2021-4206, CVE-2021-4207, CVE-2022-0358, CVE-2022-26353, CVE-2022-26354

IAVB: 2022-B-0051-S