Oracle Linux 7:qemu (ELSA-2019-4585)

critical Nessus 插件 ID 180740

简介

远程 Oracle Linux 主机缺少一个或多个安全更新。

描述

远程 Oracle Linux 7 主机上安装的多个程序包受到 ELSA-2019-4585 公告中提及的多个漏洞影响。

- 在 VNC 显示驱动程序的 1.7.2 之前的 Quick Emulator (QEMU) 中发现了一个越界内存访问问题。当在 'vnc_refresh_server_surface' 中刷新 VNC 显示表面区域时,会发生缺陷。来宾机用户可利用此缺陷使 QEMU 进程崩溃。
(CVE-2017-2633)

- 在 QEMU(也称为 Quick Emulator) 中,hw/i386/multiboot.c 中的 load_multiboot 函数存在整数溢出漏洞,这允许本地来宾操作系统用户通过特制的多引导标头地址值在主机上执行任意代码,从而触发越界写入。(CVE-2017-14167)

- 在 Qemu 中,hw/display/cirrus_vga.c 中的 mode4and5 写入函数允许本地来宾操作系统特权用户通过与 dst 计算相关的向量,造成拒绝服务(越界写入访问和 Qemu 进程崩溃)。(CVE-2017-15289)

- 使用推测执行和间接分支预测的微处理器所在的系统在未经授权的情况下,可通过边信道分析,向具有本地用户访问权限的攻击者泄露信息。
(CVE-2017-5715)

- 使用推测执行和分支预测的微处理器所在的系统在未经授权的情况下,可通过边信道分析,向具有本地用户访问权限的攻击者泄露信息。
(CVE-2017-5753)

- 使用推测执行和间接分支预测的微处理器所在的系统在未经授权的情况下,可通过数据缓存的边信道分析,向具有本地用户访问权限的攻击者泄露信息。(CVE-2017-5754)

- Qemu 中的 vga_draw_text 函数允许本地来宾操作系统特权用户通过利用不当内存地址验证,造成拒绝服务(越界读取与 QEMU 进程崩溃)。
(CVE-2018-5683)

- 使用 VGA 显示仿真器支持构建的 QEMU(又称为 Quick Emulator)允许本地来宾操作系统特权用户通过与现实更新相关的向量造成拒绝服务(越界访问和 QEMU 进程崩溃)。(CVE-2017-13672)

- QEMU(亦称 Quick Emulator)的 slirp/socket.c 的 sofree 函数中存在释放后使用漏洞,此漏洞允许攻击者利用故障来从待定数据包中正确清除 ifq_so,从而造成拒绝服务(QEMU 实例崩溃)。(CVE-2017-13711)

- 发现 Quick Emulator (QEMU) 2.11.0 和之前版本中的 VNC 服务器实现容易受到不受限制的内存分配问题影响,这是因为它未对发送至其客户端的帧缓冲区更新进行节流。如果客户端没有使用这些更新,那么 VNC 服务器将分配不断增多的内存以存储该数据。恶意远程 VNC 客户端可利用此缺陷导致服务器主机出现 DoS。(CVE-2017-15124)

- 2.10.0 及之前的 Qemu 版本允许远程攻击者通过触发缓慢的数据通道读取操作,造成内存泄漏,此问题与 io/channel-websock.c 有关。(CVE-2017-15268)

- 使用 Cirrus CLGD 54xx VGA 仿真器支持构建的 Quick Emulator(又称为 QEMU)允许本地来宾操作系统特权用户在更新 VGA 显示时,通过利用错误区域计算造成拒绝服务(越界访问和 QEMU 进程崩溃)。(CVE-2018-7858)

- 在不知道之前所有内存写入地址的情况下,使用推测执行和内存读取推测执行的微处理器所在的系统在未经授权的情况下,可通过边信道分析,向具有本地用户访问权限的攻击者泄露信息,亦即推测存储绕过 (SSB) 变体 4。(CVE-2018-3639)

- Quick Emulator(又称为 QEMU)中 hw/i386/multiboot.c 的 load_multiboot 函数允许本地来宾操作系统用户通过大于 mh_bss_end_addr 的 mh_load_end_addr 值在 QEMU 主机上执行任意代码,从而触发越界读取或写入内存访问。(CVE-2018-7550)

- Qemu 的 slirp/mbuf.c 中的 m_cat 存在通过传入分段数据报导致的基于堆的缓冲区溢出。
(CVE-2018-11806)

- 本地操作系统客户机用户可能利用 QEMU 中的 qemu-seccomp.c,通过利用对主线程以外的线程的 seccomp 策略处理不当造成拒绝服务(客户机崩溃)。(CVE-2018-15746)

- 在 Qemu 中,net/net.c 中的 qemu_deliver_packet_iov 接受大小超过 INT_MAX 的数据包,这允许攻击者造成拒绝服务或可能造成其他不明影响。(CVE-2018-17963)

- 在 Qemu 中,hw/net/pcnet.c 中的 pcnet_receive 因为使用不正确的整数数据类型,而产生缓冲区溢出。(CVE-2018-17962)

- 在 Qemu 中,hw/net/rtl8139.c 中的 rtl8139_do_receive 因为使用不正确的整数数据类型,而产生缓冲区溢出。(CVE-2018-17958)

- 以 NE2000 NIC 仿真支持构建的 3.0.0 及之前版本中的 Qemu 仿真器容易受到整数溢出漏洞影响,进而可能造成缓冲区溢出问题。可发生在通过网络接收数据包时。客户机中的用户可利用此缺陷使 Qemu 进程崩溃,从而导致 DoS。(CVE-2018-10839)

- 在 QEMU 2.12.50 的 qemu-ga(又称为 QEMU 客户机代理)中的 qga/commands-posix.c 和 qga/commands-win32.c 中,qmp_guest_file_read 中存在整数溢出,此漏洞可在尝试分配大内存区块时导致 g_malloc0() 调用,进而触发分段错误。攻击者可通过监听套接字向代理发送特制的 QMP 命令(其中包括具有较大计数值的 guest-file-read),以利用该漏洞。
(CVE-2018-12617)

- 置有 VirtFS(通过 Plan 9 File System(9pfs) 支持实现的主机目录共享)的 Quick Emulator (Qemu) 容易受到访问控制不当问题的影响。此问题可能在访问共享主机目录上的文件时发生。客户机中的特权用户可利用此缺陷在主机上访问共享文件夹之外的主机文件系统,并且可能升级其在主机上的权限。(CVE-2017-7471)

- 在使用网络块设备 (NBD) 客户端支持构建的 Quick Emulator (QEMU) 2.9 之前版本中发现了一个基于堆栈的缓冲区溢出缺陷。当处理服务器针对 ‘NBD_OPT_LIST’ 请求的响应时会发生此缺陷。恶意 NBD 服务器会利用此问题,造成远程 NBD 客户端崩溃,从而导致 DoS 或可能在具有 QEMU 进程权限的客户端主机上执行任意代码。
(CVE-2017-2630)

- QEMU(又称为 Quick Emulator)中的 hw/usb/redirect.c 存在基于堆栈的缓冲区溢出漏洞,此漏洞允许本地来宾操作系统用户通过与记录调试消息相关的向量,造成拒绝服务(QEMU 进程崩溃)。
(CVE-2017-10806)

- 在 QEMU(又称为 Quick Emulator)的 exec.c 中,address_space_write_continue 函数允许本地来宾操作系统特权用户利用 qemu_map_ram_ptr 访问客户机 ram 区块区域,造成拒绝服务(越界访问和客户机实例崩溃)。(CVE-2017-11334)

- QEMU 中的 Virtio Vring 实现允许本地操作系统客户机用户在更新 Virtio 环时通过取消设置 vring 对齐来造成拒绝服务(除以零错误和 QEMU 进程崩溃)。
(CVE-2017-17381)

- 置有 VirtFS(通过 Plan 9 File System(9pfs) 支持实现的主机目录共享)的 Quick Emulator (Qemu) 容易受到访问控制不当问题的影响。此问题可能在 mapped-file 安全模式下访问 virtfs 元数据文件时发生。客户机用户可利用此缺陷提升其在客户机中的权限。
(CVE-2017-7493)

- QEMU(又称为 Quick Emulator)中的 hw/scsi/vmw_pvscsi.c 允许本地来宾操作系统特权用户通过消息环页面计数造成拒绝服务(无限循环和 CPU 消耗)。(CVE-2017-8112)

- 当使用 MegaRAID SAS 8708EM2 主机总线适配器仿真支持构建时,QEMU(也称为 Quick Emulator)允许本地来宾操作系统特权用户通过涉及 megasas 命令处理的向量造成拒绝服务(空指针取消引用和 QEMU 进程崩溃)。(CVE-2017-9503)

- 使用 IDE 磁盘和 CD/DVD-ROM 仿真器支持构建的 QEMU(又称为 Quick Emulator)允许本地来宾操作系统特权用户通过刷新空 CDROM 设备驱动程序造成拒绝服务(空指针取消引用和 QEMU 进程崩溃)。(CVE-2017-12809)

- QEMU(又称为 Quick Emulator)的 hw/9pfs/9p.c 中的 v9fs_xattrwalk 函数存在争用条件,允许本地来宾操作系统用户通过与读取扩展属性相关的向量,从主机堆内存获取敏感信息。(CVE-2017-15038)

- 在 Quick Emulator (QEMU) 2.11 的之前版本中,网络块设备 (NBD) 服务器容易受到拒绝服务问题的影响。如果客户端发送较大选项请求,使服务器将 CPU 时间花费在针对每个请求读取高达 4GB 的内容上,便可发生此问题。客户端可利用此缺陷阻止 NBD 服务器为其他请求提供服务,从而导致 DoS。(CVE-2017-15119)

- Qemu 中的 hw/input/ps2.c 在来宾迁移期间未验证“rptr”和“count”值,从而导致越界访问。(CVE-2017-16845)

- 在 Qemu 中,hw/display/cirrus_vga.c 中的 cirrus_invalidate_region 函数允许本地操作系统来宾特权用户通过与负间距相关的向量,造成拒绝服务(越界数组访问和 QEMU 进程崩溃)。(CVE-2017-18030)

- 在 Quick Emulator (Qemu) 中,宏 ROUND_UP (n, d) 中的整数溢出漏洞让用户能够造成拒绝服务(Qemu 进程崩溃)。(CVE-2017-18043)

- QEMU(又称为 Quick Emulator)的 audio/audio.c 中存在内存泄漏漏洞,这允许远程攻击者通过反复启动和停止音频捕获来造成拒绝服务(内存消耗)。(CVE-2017-8309)

- QEMU(又称为 Quick Emulator)的键盘输入事件处理程序支持中存在内存泄露,这允许本地来宾操作系统特权用户通过快速生成大型键盘事件造成拒绝服务(主机内存消耗)。(CVE-2017-8379)

- Qemu 2.9.0 的 megasas_mmio_write 函数中存在缓冲区溢出漏洞,此漏洞允许远程攻击者通过未知向量造成不明影响。(CVE-2017-8380)

- 使用拆分屏幕模式时,VGA 显示更新误算了脏位图快照的区域,导致 cpu_physical_memory_snapshot_get_dirty 函数中发生拒绝服务(断言失败)。(CVE-2017-13673)

- 在低于版本 3.1.0 的 qemu 媒体传输协议 (MTP) 中发现一个缺陷。hw/usb/dev-mtp.c 中的 usb_mtp_write_data 函数存在路径遍历,这是因为未妥善清理文件名所致。当来宾设备以读写模式挂载时,此漏洞允许读取/写入任意文件,这可能导致 DoS 情形或可能导致在主机上执行代码。(CVE-2018-16867)

- QEMU 中的 hw/rdma/vmw/pvrdma_main.c 未实现读取操作(例如 uar_read 与 uar_write 类比),这让攻击者可以造成拒绝服务(空指针取消引用)。
(CVE-2018-20191)

- 在 qemu 媒体传输协议 (MTP) 中发现了一个缺陷。自从在 usb_mtp_object_alloc 中调用 lstat(2) 以后,开启 usb_mtp_get_object 和 usb_mtp_get_partial_object 中的文件,以及 usb_mtp_object_readdir 中的目录之代码没有考虑到基础文件系统可能已变更,这是常见的 TOCTTOU 问题。对主机文件系统(与客户机共享)有写入权限的攻击者可使用此属性,在 QEMU 进程的环境中导航主机文件系统,并读取 QEMU 进程对其具有访问权的任何文件。可以在本地或通过网络共享协议(如 CIFS)访问文件系统。
(CVE-2018-16872)

- QEMU 中的 hw/rdma/rdma_backend.c 允许来宾操作系统用户通过具有较大 num_sge 值的 PvrdmaSqWqe 环元素触发越界访问。(CVE-2018-20124)

- QEMU 的 hw/rdma/vmw/pvrdma_dev_ring.c 中存在无限循环,因为未检查返回值(并且
未正确处理 -1)。(CVE-2018-20216)

- QEMU 中的 hw/rdma/vmw/pvrdma_cmd.c 允许攻击者在 create_cq_ring 或 create_qp_rings 中造成拒绝服务(空指针取消引用或过量内存分配)。(CVE-2018-20125)

- QEMU 中的 hw/rdma/vmw/pvrdma_cmd.c 出现 create_cq 和 create_qp 内存泄漏,这是因为对错误处理不当。(CVE-2018-20126)

- 在 Qemu 3.0.0 中,hw/scsi/lsi53c895a.c 中的 lsi_do_msgin 可通过触发无效的 msg_len 值造成越界访问。(CVE-2018-18849)

- 在 QEMU 的 NVM Express Controller 仿真中发现 OOB 堆缓冲区读取/写入访问问题。此问题会出现在 nvme 设备的 nvme_cmb_ops 例程中。来宾用户/进程可利用此缺陷使 QEMU 进程崩溃,从而导致 DoS 或可能利用 QEMU 进程权限执行任意代码。
(CVE-2018-16847)

- QEMU 中的 hw/9pfs/cofile.c 和 hw/9pfs/9p.c 可在第二线程访问 fid 路径时修改此路径,从而造成(例如)释放后使用后果。(CVE-2018-19364)

- QEMU 的 hw/9pfs/9p.c 中的 v9fs_wstat 允许来宾操作系统用户因文件重命名期间的争用条件而造成拒绝服务(崩溃)。(CVE-2018-19489)

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

解决方案

更新受影响的程序包。

另见

https://linux.oracle.com/errata/ELSA-2019-4585.html

插件详情

严重性: Critical

ID: 180740

文件名: oraclelinux_ELSA-2019-4585.nasl

版本: 1.1

类型: local

代理: unix

发布时间: 2023/9/7

最近更新时间: 2023/9/8

支持的传感器: Frictionless Assessment Agent, Nessus Agent, Nessus

风险信息

VPR

风险因素: High

分数: 8.4

CVSS v2

风险因素: High

基本分数: 7.7

时间分数: 6.7

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

CVSS 分数来源: CVE-2017-7471

CVSS v3

风险因素: Critical

基本分数: 10

时间分数: 9.5

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

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

CVSS 分数来源: CVE-2017-16845

漏洞信息

CPE: cpe:/o:oracle:linux:7, p-cpe:/a:oracle:linux:ivshmem-tools, p-cpe:/a:oracle:linux:qemu, p-cpe:/a:oracle:linux:qemu-block-gluster, p-cpe:/a:oracle:linux:qemu-block-iscsi, p-cpe:/a:oracle:linux:qemu-block-rbd, p-cpe:/a:oracle:linux:qemu-common, p-cpe:/a:oracle:linux:qemu-img, p-cpe:/a:oracle:linux:qemu-kvm, p-cpe:/a:oracle:linux:qemu-kvm-core, p-cpe:/a:oracle:linux:qemu-system-aarch64, p-cpe:/a:oracle:linux:qemu-system-aarch64-core

必需的 KB 项: Host/OracleLinux, Host/RedHat/release, Host/RedHat/rpm-list, Host/local_checks_enabled

可利用: true

易利用性: Exploits are available

补丁发布日期: 2019/3/15

漏洞发布日期: 2017/2/15

可利用的方式

CANVAS (CANVAS)

参考资料信息

CVE: CVE-2017-10806, CVE-2017-11334, CVE-2017-12809, CVE-2017-13672, CVE-2017-13673, CVE-2017-13711, CVE-2017-14167, CVE-2017-15038, CVE-2017-15119, CVE-2017-15124, CVE-2017-15268, CVE-2017-15289, CVE-2017-16845, CVE-2017-17381, CVE-2017-18030, CVE-2017-18043, CVE-2017-2630, CVE-2017-2633, CVE-2017-5715, CVE-2017-5753, CVE-2017-5754, CVE-2017-7471, CVE-2017-7493, CVE-2017-8112, CVE-2017-8309, CVE-2017-8379, CVE-2017-8380, CVE-2017-9503, CVE-2018-10839, CVE-2018-11806, CVE-2018-12617, CVE-2018-15746, CVE-2018-16847, CVE-2018-16867, CVE-2018-16872, CVE-2018-17958, CVE-2018-17962, CVE-2018-17963, CVE-2018-18849, CVE-2018-19364, CVE-2018-19489, CVE-2018-20124, CVE-2018-20125, CVE-2018-20126, CVE-2018-20191, CVE-2018-20216, CVE-2018-3639, CVE-2018-5683, CVE-2018-7550, CVE-2018-7858

IAVA: 2018-A-0017-S, 2018-A-0019, 2018-A-0020, 2018-A-0022-S, 2018-A-0170