Oracle Linux 7:内核 (ELSA-2017-2930)

high Nessus 插件 ID 104001

简介

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

描述

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

- 内核网络子系统中存在权限提升漏洞,可导致本地恶意应用程序在内核环境中执行任意代码。由于此问题首先需要破坏特权进程,且当前编译器已优化为限制漏洞代码的访问,因此此问题评级为中等。产品:Android。版本:内核 、内核 。Android ID:
A-31349935。(CVE-2016-8399)

- 在 Linux 内核 4.10.6 及之前版本中,net/xfrm/xfrm_user.c 中的 xfrm_replay_verify_len 函数未在 XFRM_MSG_NEWAE 更新后验证特定大小数据,本地用户可利用此漏洞,通过使用 CAP_NET_ADMIN 功能,获取根权限,或造成拒绝服务(基于堆的越界访问),此问题已在针对 Ubuntu 16.10 linux-image-* 程序包 4.8.0.41.52 的 CanSecWest 2017 的 Pwn2Own 竞赛中得到证实。(CVE-2017-7184)

- 在低于 4.12.3 的 Linux 内核版本中,本地用户可利用 drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c 中的 brcmf_cfg80211_mgmt_tx 函数,通过构建的 NL80211_CMD_FRAME Netlink 数据包,造成拒绝服务(缓冲区溢出和系统崩溃),或可能获取权限。(CVE-2017-7541)

- Linux 内核:AF_PACKET 套接字中的堆越界。此新问题类似于先前披露的 CVE-2016-8655。在这两种情况下,用于更改套接字状态的套接字选项可能与 packet_set_ring 中的安全检查发生争用。之前使用 PACKET_VERSION。此次使用 PACKET_RESERVE。该解决方案类似于:
锁定更新的套接字。此问题可能被利用,我们并未对此进一步调查。由于此问题影响 PF_PACKET 套接字,因此需要在进程命名空间中使用 CAP_NET_RAW。但请注意,启用用户命名空间后,任何进程都可以在其中创建具有 CAP_NET_RAW 的命名空间。(CVE-2017-1000111)

- 在低于 4.12 的 Linux 内核版本中,本地用户可利用 net/ipv4/tcp.c 中的 tcp_disconnect 函数,通过在特定 tcp_recvmsg 代码路径内触发连接断开,造成拒绝服务(__tcp_select_window 除零错误和系统崩溃)。(CVE-2017-14106)

- Linux 内核:可利用的内存损坏,这是从 UFO 切换到非 UFO 路径所致。在使用 MSG_MORE 构建 UFO 数据包时,MSG_MORE __ip_append_data() 会调用 ip_ufo_append_data() 进行附加。但是,在两次 send() 调用之间,附加路径可从 UFO 切换到非 UFO,从而导致内存损坏。如果 UFO 数据包长度超过 MTU,copy = maxfraglen - skb->len 在非 UFO 路径上变为负值,并且采用分支来分配新的 skb。这可触发 fraggap = skb_prev->len - maxfraglen 的碎片化和计算。Fraggap 可超出 MTU,导致 copy = datalen - transhdrlen - fraggap 变为负值。因而导致 skb_copy_and_csum_bits() 发生越界写入。IPv6 代码中存在类似的问题。此缺陷于 2005 年 10 月 18 日通过e89e9cf539a2 ([IPv4/IPv6]:UFO Scatter-gather 方法)引入。(CVE-2017-1000112)

- 在 4.11.9 及之前的 Linux 内核中,mq_notify 函数在进入重试逻辑时没有将 sock 指针设置为空。在 Netlink 套接字用户空间关闭期间,允许攻击者造成拒绝服务(释放后使用)或可能造成其他不明影响。(CVE-2017-11176)

- 在 4.12.3 及之前的 Linux 内核中,net/ipv6/output_core.c 内的 ip6_find_1stfragopt 函数可让本地用户利用打开原始套接字的能力造成拒绝服务(整数溢出和无限循环)。(CVE-2017-7542)

- 在 4.7-rc1 至 4.13 的 Lunix 内核中,发现函数 inet_diag_msg_sctp{,l}addr_fill() 和 sctp_get_sctp_info() 存在由越界读取导致的内核数据泄露。当这些函数填入用于导出套接字诊断信息的 sockaddr 数据结构时,会发生数据泄露。因此,多达 100 字节的 slab 数据可能会泄露到用户空间。(CVE-2017-7558)

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

解决方案

更新受影响的程序包。

另见

https://linux.oracle.com/errata/ELSA-2017-2930.html

插件详情

严重性: High

ID: 104001

文件名: oraclelinux_ELSA-2017-2930.nasl

版本: 3.15

类型: local

代理: unix

发布时间: 2017/10/20

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

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

风险信息

VPR

风险因素: Critical

分数: 9.6

CVSS v2

风险因素: High

基本分数: 7.6

时间分数: 6.3

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

CVSS 分数来源: CVE-2016-8399

CVSS v3

风险因素: High

基本分数: 7.8

时间分数: 7.2

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

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

漏洞信息

CPE: cpe:/o:oracle:linux:7, p-cpe:/a:oracle:linux:kernel, p-cpe:/a:oracle:linux:kernel-abi-whitelists, p-cpe:/a:oracle:linux:kernel-debug, p-cpe:/a:oracle:linux:kernel-debug-devel, p-cpe:/a:oracle:linux:kernel-devel, p-cpe:/a:oracle:linux:kernel-headers, p-cpe:/a:oracle:linux:kernel-tools, p-cpe:/a:oracle:linux:kernel-tools-libs, p-cpe:/a:oracle:linux:kernel-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

补丁发布日期: 2017/10/19

漏洞发布日期: 2016/12/5

可利用的方式

Core Impact

Metasploit (Linux Kernel UDP Fragmentation Offset (UFO) Privilege Escalation)

参考资料信息

CVE: CVE-2016-8399, CVE-2017-1000111, CVE-2017-1000112, CVE-2017-11176, CVE-2017-14106, CVE-2017-7184, CVE-2017-7541, CVE-2017-7542, CVE-2017-7558

RHSA: 2017:2930