Oracle Linux 7:内核 (ELSA-2020-1016)

critical Nessus 插件 ID 180720

简介

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

描述

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

- 在通过 request_key() 系统调用将密钥添加至当前任务的默认请求密钥密匙环时,Linux 内核 4.14.6 之前版本的 KEYS 子系统省略了访问控制检查,本地用户可利用此问题,使用一系列构建的系统调用,向仅具有该密匙环搜索权限(而非写入权限)的密匙环添加密钥,此问题与 security/keys/request_key.c 中的 construct_get_dest_keyring() 有关。
(CVE-2017-17807)

- 在 Linux 内核 4.19.8 及之前版本中,drivers/net/usb/hso.c 中的 hso_get_config_data 函数可从 USB 设备(作为 u8)读取 if_num,并使用该值进行小数组索引,从而导致对象越界 (OOB) 读取,这使攻击者可能在内核地址空间中进行任意读取。(CVE-2018-19985)

- 本地用户可利用版本低于 4.8 的 Linux 内核,绕过 setuid 程序(例如 /bin/su)的 ASLR,由于太晚调用 fs/binfmt_elf.c 的 load_elf_binary() 中的 install_exec_creds(),在读取 /proc/pid/stat 时 ptrace_may_access() 检查存在争用条件。(CVE-2019-11190)

- 在低于 5.0.15 的 Linux 内核版本中,本地用户可利用 net/bluetooth/hidp/sock.c 中的 do_hidp_sock_ioctl 函数,通过 HIDPCONNADD 命令,从内核堆栈内存获取潜在敏感信息,这是名称字段不能以“\0”字符结尾所致。(CVE-2019-11884)

- 在 4.13.14 版本之前的 Linux 内核的 tun 子系统中,在 register_netdevice 之前不会调用 dev_get_valid_name。此问题允许本地用户通过含有 / 字符的 dev 名称的 ioctl(TUNSETIFF) 调用,造成拒绝服务(空指针取消引用和错误)。此问题类似于 CVE-2013-4343。(CVE-2018-7191)

- 在 Linux 内核 4.19.9 之前的版本中发现问题。USB 子系统在读取额外的描述符期间,未正确处理大小检查,这与 drivers/usb/core/usb.c 中的 __usb_get_extra_descriptor 有关。
(CVE-2018-20169)

- ** 存在争议 ** 在 5.1.5 版本之前的 Linux 内核的 drivers/gpu/drm/drm_edid_load.c 中,在 drm_load_edid_firmware 中发现问题。fwstr 中存在一个未经检查的 kstrdup,攻击者可能会借此造成拒绝服务(空指针取消引用和系统崩溃)。注意:供应商认为此问题不是漏洞,为返回 NULL 的 kstrdup() 得到了充分的处理,没有空指针取消引用的机会。(CVE-2019-12382)

- 在提交 a4176ec356c73a46c07c181c6d04039fafa34a9f 之前的 Broadcom brcmfmac WiFi 驱动程序容易受到框架验证绕过的影响。如果 brcmfmac 驱动程序从远程源收到固件事件框架,is_wlc_event_frame 函数将导致该框架被丢弃和未处理。如果驱动程序从主机接收到固件事件框架,则会调用相应的处理程序。如果使用的总线是 USB(例如通过 wifi 加密狗),则可绕过此框架验证。这样就可以允许处理来自远程源的固件事件框架。在最坏的情况下,通过发送特别构建的 WiFi 数据包,未经身份验证的远程攻击者可能可以在有漏洞的系统上执行任意代码。
更典型的是,此漏洞会导致拒绝服务情况。(CVE-2019-9503)

- 在 Linux 内核 5.2.3 之前版本中,drivers/block/floppy.c 中的 set_geometry 未验证 sect 和 head 字段,整数溢出和越界读取即为一例。插入软盘时本地非特权用户可触发此问题。注意:QEMU 默认创建软盘设备。(CVE-2019-14283)

- Linux 内核 4.1.4 之前版本中,检查 drivers/media/dvb-frontends/cx24116.c 中的用户空间参数时会发生缓冲区溢出。根据用户空间 API, DiSEqC 命令的最大大小为 6。但是,代码可允许较大值,例如 23。(CVE-2015-9289)

- 在版本低于 4.18.0 的所有内核 3.x.x 和内核 5.x.x 内 UART 的 Linux 内核蓝牙实现中发现缺陷。具有本地访问权限和蓝牙硬件写入权限的攻击者可利用此缺陷,发起特别构建的 ioctl 函数调用,造成系统崩溃。
(CVE-2019-10207)

- 在 Linux 内核 5.0.1 之前的版本中发现问题。net/core/net-sysfs.c 的 register_queue_kobjects() 中发生内存泄露,这将导致拒绝服务。(CVE-2019-15916)

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

- 在 5.1.9 版本之前的 Linux 内核的 arch/x86/lib/insn-eval.c 中,由于 modify_ldt() 和 MPX 边界违规的 #BR 异常之间存在争用条件,存在 LDT 条目访问权的释放后使用。(CVE-2019-13233)

- 本地攻击者可利用 perf_event_open() 中的争用条件,泄漏来自 setuid 程序的敏感数据。
由于在 ptrace_may_access() 调用期间没有相关锁定(尤其是 cred_guard_mutex),特定目标任务可能在 perf_event_alloc() 实际附加到其之前执行带有 setuid 执行的 execve() 系统调用,让攻击者绕过 ptrace_may_access() 检查和具有特殊权限的 execve() 调用期间在 install_exec_creds() 中执行的 perf_event_exit_task(当前)调用。此问题影响内核 4.8 之前版本。(CVE-2019-3901)

- 在 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)

- 在 powerpc 平台上版本低于 5.2.1 的 Linux 内核中,当禁用硬件事务内存时,本地用户可通过发送特制信号框架的 sigreturn() 系统调用造成拒绝服务(TM Bad Thing 异常和系统崩溃)。 这会影响 arch/powerpc/kernel/signal_32.c 和 arch/powerpc/kernel/signal_64.c。 (

解决方案

更新受影响的程序包。

另见

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

插件详情

严重性: Critical

ID: 180720

文件名: oraclelinux_ELSA-2020-1016.nasl

版本: 1.0

类型: local

代理: unix

发布时间: 2023/9/7

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

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

风险信息

VPR

风险因素: Medium

分数: 6.7

CVSS v2

风险因素: High

基本分数: 7.9

时间分数: 6.2

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

CVSS 分数来源: CVE-2019-9503

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

CVSS 分数来源: CVE-2019-16746

漏洞信息

CPE: cpe:/o:oracle:linux:7, p-cpe:/a:oracle:linux:bpftool, 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

补丁发布日期: 2020/4/6

漏洞发布日期: 2016/4/25

参考资料信息

CVE: CVE-2015-9289, CVE-2017-17807, CVE-2018-19985, CVE-2018-20169, CVE-2018-7191, CVE-2019-10207, CVE-2019-10638, CVE-2019-10639, CVE-2019-11190, CVE-2019-11884, CVE-2019-12382, CVE-2019-13233, CVE-2019-13648, CVE-2019-14283, CVE-2019-15916, CVE-2019-16746, CVE-2019-18660, CVE-2019-3901, CVE-2019-9503