Oracle Linux 7:Unbreakable Enterprise 内核 (ELSA-2020-5845)

critical Nessus 插件 ID 140499

简介

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

描述

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

- 在 Linux 内核的 NFS41+ 子系统中发现一个瑕疵。同时挂载到不同网络命名空间的 NFS41+ 共享可导致 bc_svc_process() 使用错误的反向信道 ID,并造成释放后使用漏洞。因此,恶意的容器用户可造成主机内核内存崩溃和系统错误。鉴于此缺陷的本质,无法完全排除权限提升。(CVE-2018-16884)

- 在 handle_rx() 中处理传入数据包时,在 Linux 内核 v5.1-rc6 之前(包括 v5.1-rc6 版本)的 vhost_net 内核模块中发现无限循环问题。一端发送数据包的速度快于另一端可以处理数据包的速度时,将出现该问题。客户机用户(可能为远程用户)可以利用此缺陷停止 vhost_net 内核线程,进而引发 DoS 情况。(CVE-2019-3900)

- Linux 内核 5.1-rc5 之前版本允许 page->_refcount 引用计数溢出,如果存在约 140 GiB 的 RAM,则会产生释放后使用问题。这与 fs/fuse/dev.c、fs/pipe.c, fs/splice.c、include/linux/mm.h、include/linux/pipe_fs_i.h、kernel/trace/trace.c、mm/gup.c 和 mm/hugetlb.c 有关。FUSE 请求会发生此问题。(CVE-2019-11487)

- 在低于 5.1.7 的 Linux 内核版本中,攻击者可使用内核为无连接协议(例如 UDP 和 ICMP)生成的 IP ID 值来跟踪设备。将此类流量发送到多个目标 IP 地址时,可以获得(计数器数组索引)的哈希冲突,从而(通过枚举)获得哈希密钥。攻击者可通过托管构建网页,使用 WebRTC 或 gQUIC 强制向攻击者控制的 IP 地址发送 UDP 流量来发动攻击。(CVE-2019-10638)

- cgroups 子系统未考虑用户空间应用程序使用的 SCTP 套接字缓冲区。攻击者可利用此缺陷造成拒绝服务攻击。内核 3.10.x、4.18.x 和 CVE-2019-3874 被认为存在漏洞。

- 对于影响 Linux 内核 5.0.10 之前版本的 CVE-2019-11599 的修复并不完整。本地用户可利用此缺陷获得敏感信息,造成拒绝服务或可能因触发带有 mmget_not_zero 或 get_task_mm 调用的争用条件而造成其他不明影响。
(CVE-2019-14898)

- 在 Linux 内核 5.3.2 及其之前版本中,net/wireless/wext-sme.c 中的 cfg80211_mgd_wext_giwessid 未拒绝长 SSID IE,从而导致缓冲区溢出。(CVE-2019-17133)

- 在 Linux 内核 5.2.17 及其之前版本的 net/wireless/nl80211.c 中发现问题。未检查 beacon 标头中变量元素的长度,从而导致缓冲区溢出。(CVE-2019-16746)

- 版本低于 5.0.8 的 Linux 内核 4.x(自 4.1 起)和 5.x 存在信息泄露(部分内核地址泄露),可导致 KASLR 绕过。具体而言,可以使用内核为无连接协议(例如 UDP 和 ICMP)生成的 IP ID 值来提取 KASLR 内核映像偏移。将此类流量发送到多个目标 IP 地址时,可以获得(计数器数组索引)的哈希冲突,从而(通过枚举)获得哈希密钥。此密钥包含来自(静态变量的)内核地址的充足位,因此当(通过枚举)提取密钥时,将暴露内核映像的偏移。此攻击可由攻击者迫使目标设备将 UDP 或 ICMP(或某些其他)流量发送至受攻击者控制的 IP 地址,来远程执行。如果服务器是 DNS 服务器,则强制服务器发送 UDP 流量无关紧要。如果服务器响应 ICMP Echo 请求 (ping),则 ICMP 流量无关紧要。对于客户端目标,如果目标访问攻击者的网页,则可使用 WebRTC 或 gQUIC 将 UDP 流量强制发送到攻击者控制的 IP 地址。注意:由于 IP ID 生成已更改为对网络命名空间相关的地址具有具体依存关系,所有针对 KASLR 的攻击在 4.1 中变得可行。(CVE-2019-10639)

- 在 Linux 内核 5.3.11 及之前的版本中,drivers/net/wireless/ath/ath9k/htc_hst.c 中存在内存泄露漏洞,可允许攻击者通过触发 wait_for_completion_timeout() 失败造成拒绝服务(内存消耗)。这会影响 htc_config_pipe_credits() 函数、htc_setup_complete() 函数和 htc_connect_service() 函数,也称为 CID-853acf7caf10。(CVE-2019-19073)

- 在 5.3.11 及之前版本的 Linux 内核中,drivers/net/wireless/ath/ath9k/wmi.c 的 ath9k_wmi_cmd() 函数中存在内存泄漏,攻击者可利用此漏洞造成拒绝服务(内存消耗),即 CID-728c1e2a05e4。
(CVE-2019-19074)

- 在低于 5.3.9 的 Linux 内核版本中,当使用 cpu.cfs_quota_us(例如使用 Kubernetes)时,攻击者可利用 kernel/sched/fair.c,通过生成触发多余切片到期的工作负载,对非 CPU 密集型的应用程序造成拒绝服务,亦即 CID-de53fd7aedb1。(换言之,虽然通常是通过安全的工作负载表明此切片到期,但攻击者仍可计算需要多少零散请求,才能强制整个 Kubernetes 群集进入因切片到期造成的低性能状态,并可确保 DDoS 攻击发送该数量的零散请求。攻击不影响内核稳定性;仅造成应用程序运行管理不当。)(CVE-2019-19922)

- 在 Linux 内核 5.8-rc1 之前版本的增强型 IBPB(间接分支预测屏障)实现中发现缺陷。当 STIBP 不可用或者增强间接分支限制推测 (IBRS) 可用时,将禁用 IBPB 缓解措施。此缺陷允许本地攻击者在当前配置生效时执行 Spectre V2 样式攻击。此漏洞最主要的威胁对象是机密性。(CVE-2020-10767)

- 在低于 5.2.9 的 Linux 内核版本中,drivers/net/can/usb/peak_usb/pcan_usb_fd.c 驱动程序中存在恶意 USB 设备,可造成信息泄漏错误,亦即 CID-30a8beeb3042。(CVE-2019-19535)

- 在 Linux 内核 5.4.7 之前的版本中发现问题。net/packet/af_packet.c 中的 prb_calc_retire_blk_tmo() 函数在涉及 TPACKET_V3 的特定故障情况下,可导致拒绝服务(CPU 消耗和软锁定),又称为 CID-b43d1f9f7067。(CVE-2019-20812)

- 在 Linux 内核的 VGA 控制台反转视频代码实现中发现一个缺陷,当本地攻击者调用 ioctl VT_RESIZE 尝试调整控制台的大小时,会导致发生越界写入。具有 VGA 控制台访问权限的本地用户可能利用此缺陷升级其在系统上的权限。此漏洞最大的威胁在于数据机密性和完整性,以及系统可用性。(CVE-2020-14331)

- 版本低于 5.1 的 Linux 内核中的 fs/btrfs/volumes.c 允许通过构建的 btrfs 图像造成 btrfs_verify_dev_extents 空指针取消引用,这是未正确在 find_device 中处理 fs_devices-> devices 所致,又称为 CID-09ba3bc9dd15。(CVE-2019-18885)

- 在版本低于 5.7.8 的 Linux 内核中,fs/nfsd/vfs.c(在 NFS 服务器中)可在文件系统缺少 ACL 支持时对新文件系统对象设置错误权限,又称为 CID-22cf8419f131。发生此问题的原因是未考虑当前 umask。(CVE-2020-24394)

- 在 Linux 内核 5.8-rc6 之前版本的 ZRAM 内核模块中发现一个缺陷,具有本地帐户并能够读取 /sys/class/zram-control/hot_add 文件的用户可在 /dev/ 目录中创建 ZRAM 设备节点。此读取会分配内核内存,且不会考虑触发创建该 ZRAM 设备的用户。利用该漏洞持续读取设备,可能会消耗大量系统内存,并造成内存不足 (OOM) 终止程序激活和终止随机用户空间进程,进而可能导致系统无法操作。(CVE-2020-10781)

- 远程攻击者可利用 5.7.11 及之前版本的 Linux 内核进行观察,以便获得关于网络 RNG 内部状态的敏感信息,即 CID-f227e3ec3b5c。此问题与 drivers/char/random.c 和 kernel/time/timer.c 相关。(CVE-2020-16166)

- 在 Linux 内核 4.17.10 及之前的版本中发现问题。在安装和操作构建的 btrfs 映像时,io_ctl_map_page() 中存在无效指针取消引用,这是 fs/btrfs/tree-checker.c 中的 check_leaf_item 中缺少区块群组项目验证所致。(CVE-2018-14613)

- 在 RH 内核 5.0 之前版本的 IPsec 加密算法模块 authenc 中,crypto/authenc.c 的 crypto_authenc_extractkeys 中发现缓冲区过度读取缺陷。当负载超过 4 字节且未遵循 4 字节对齐边界准则时,负载平衡器会造成缓冲区过度读取威胁,进而导致系统崩溃。具有用户权限的本地攻击者可利用此缺陷造成拒绝服务。(CVE-2020-10769)

- 在 Linux 内核 4.4.221 之前的 4.4.x 版本、4.9.221 之前的 4.9.x 版本、4.14.178 之前的 4.14.x 版本、4.19.119 之前的 4.19.x 版本和 5.3 之前的 5.x 版本 fs/namespace.c 中存在 pivot_root 争用条件,可允许本地用户通过损坏挂载点引用计数器造成拒绝服务(错误)。(CVE-2020-12114)

- 在版本低于 5.7 的 Linux 内核 SELinux LSM 挂钩实现中发现一个缺陷,其中该缺陷错误地假设 skb 只会包含一个 netlink 消息。挂钩会错误地仅验证 skb 中的第一个 netlink 消息,并在不进一步处理的情况下,使用授予的权限允许或拒绝 skb 内的其余消息。(CVE-2020-10751)

- 在 Linux 内核 mainline 5.3 之前版本中存在可遭恶意利用的拒绝服务漏洞。攻击者可利用此漏洞,在所需的身份验证流程完成前触发 AP 以发送站点的 IAPP 位置更新。这可能导致不同的拒绝服务情形,方法是造成 CAM 表攻击,或者在伪造具有相同无线基础架构的其他邻近 AP 中已存在客户端时造成流量漂移。攻击者可伪造身份验证和关联请求数据包来触发此漏洞。(CVE-2019-5108)

- 在 Linux 内核 5.3.2 及其之前版本的 drivers/infiniband/hw/cxgb4/mem.c 的 write_tpt_entry 中发现问题。cxgb4 驱动程序直接从堆栈变量中调用 dma_map_single(DMA 函数)。
攻击者可利用此问题触发拒绝服务,如果在此堆栈/DMA 交互具有安全相关性的架构上使用此驱动程序,该漏洞可遭恶意利用。(CVE-2019-17075)

- 在 Linux 内核 5.1.8 之前的版本中发现问题。在 drivers/media/usb/siano/smsusb.c 驱动程序中,存在恶意 USB 设备造成的空指针取消引用。(CVE-2019-15218)

- 在 Linux 内核 5.3.11 之前版本的 drivers/net/can/usb/gs_usb.c 的 gs_can_open() 函数中存在内存泄露,攻击者可利用此问题触发 usb_submit_urb() 失败(亦称 CID-fb5be6a7b486),从而造成拒绝服务(内存消耗)。(CVE-2019-19052)

- 在 Linux 内核 5.3.11 及之前版本中,drivers/net/wireless/realtek/rtlwifi/usb.c 中的 rtl_usb_probe() 函数中存在两项内存泄漏,攻击者可利用此漏洞,造成拒绝服务(内存消耗),亦即 CID-3f9361695113。(CVE-2019-19063)

- 在 Linux 内核 5.3.11 及之前版本中,drivers/scsi/bfa/bfad_attr.c 中的 bfad_im_get_stats() 函数中存在内存泄漏,攻击者可利用此漏洞,通过触发 bfa_port_get_stats() 失败,造成拒绝服务(内存消耗),亦即 CID-0e62395da2bd。(CVE-2019-19066)

- 在 Linux 内核 5.3.11 及之前版本中,drivers/net/wireless/ath/ath10k/usb.c 中的 ath10k_usb_hif_tx_sg() 函数中存在内存泄露,攻击者可利用此漏洞,通过触发 usb_submit_urb() 失败,造成拒绝服务(内存消耗),亦即 CID-b8d17e7d93d2。 (CVE-2019-19078)

- 在 Linux 内核 5.6.11 及之前版本中发现一个问题。合并操作失败时,drivers/md/bcache/btree.c 中的 btree_gc_coalesce 存在死锁。(CVE-2020-12771)

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

解决方案

更新受影响的程序包。

另见

https://linux.oracle.com/errata/ELSA-2020-5845.html

插件详情

严重性: Critical

ID: 140499

文件名: oraclelinux_ELSA-2020-5845.nasl

版本: 1.5

类型: local

代理: unix

发布时间: 2020/9/11

最近更新时间: 2024/2/20

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

风险信息

VPR

风险因素: Medium

分数: 6.7

CVSS v2

风险因素: High

基本分数: 7.5

时间分数: 5.9

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

CVSS 分数来源: CVE-2019-17133

CVSS v3

风险因素: Critical

基本分数: 9.8

时间分数: 8.8

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

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

漏洞信息

CPE: cpe:/o:oracle:linux:7, p-cpe:/a:oracle:linux:kernel-uek, p-cpe:/a:oracle:linux:kernel-uek-debug, p-cpe:/a:oracle:linux:kernel-uek-debug-devel, p-cpe:/a:oracle:linux:kernel-uek-devel, p-cpe:/a:oracle:linux:kernel-uek-doc, p-cpe:/a:oracle:linux:kernel-uek-headers, p-cpe:/a:oracle:linux:kernel-uek-tools, p-cpe:/a:oracle:linux:kernel-uek-tools-libs, p-cpe:/a:oracle:linux:kernel-uek-tools-libs-devel, p-cpe:/a:oracle:linux:perf, p-cpe:/a:oracle:linux:python-perf

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

可利用: true

易利用性: Exploits are available

补丁发布日期: 2020/9/11

漏洞发布日期: 2018/7/27

参考资料信息

CVE: CVE-2018-14613, CVE-2018-16884, CVE-2019-10638, CVE-2019-10639, CVE-2019-11487, CVE-2019-14898, CVE-2019-15218, CVE-2019-16746, CVE-2019-17075, CVE-2019-17133, CVE-2019-18885, CVE-2019-19052, CVE-2019-19063, CVE-2019-19066, CVE-2019-19073, CVE-2019-19074, CVE-2019-19078, CVE-2019-19535, CVE-2019-19922, CVE-2019-20812, CVE-2019-3874, CVE-2019-3900, CVE-2019-5108, CVE-2020-10751, CVE-2020-10767, CVE-2020-10769, CVE-2020-10781, CVE-2020-12114, CVE-2020-12771, CVE-2020-14331, CVE-2020-16166, CVE-2020-24394

BID: 104917, 106253, 107488, 108054, 108076, 109092