Oracle Linux 7:内核 (ELSA-2018-1062)

critical Nessus 插件 ID 109113

简介

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

描述

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

- 在某些异常的硬件配置中,远程攻击者可利用低于 4.8.7 的 Linux 内核版本中的 drivers/firewire/net.c,通过构建的碎片化数据包,执行任意代码。(CVE-2016-8633)

- 在 Linux 内核 4.5.2 及之前版本中,arch/x86/mm/mmap.c 中的 arch_pick_mmap_layout 函数未正确随机化旧基址,本地用户可利用此漏洞,通过禁用堆栈消耗资源限制,轻易突破 ADDR_NO_RANDOMIZE 标记的预期限制,并绕过 setuid 或 setgid 程序的 ASLR 保护机制。(CVE-2016-3672)

- 在 Linux 内核 4.13.3 及之前版本中,arch/x86/kvm/vmx.c 中的 prepare_vmcs02 函数未确保在 L1 忽略 use TPR shadow vmcs12 控件时,提供 CR8-load exiting 和 CR8-store exiting L0 vmcs02 控件,KVM L2 客户机操作系统用户可利用此漏洞,获取硬件 CR8 寄存器的读写访问权限。(CVE-2017-12154)

- 在低于 4.13.8 的 Linux 内核版本中,当 SCSI I/O 向量具有属于相同页面的小型连续缓冲区时,block/bio.c 中的 bio_map_user_iov 和 bio_unmap_user 函数会进行不平衡的引用计数。
bio_add_pc_page 函数会将其合并成一个,但该页面引用再也不会删除。此漏洞可能会造成内存泄露,并可能造成系统锁定(如果 SCSI 磁盘传递到虚拟机,则客户机操作系统用户可以利用主机操作系统攻击),这是内存不足所致。(CVE-2017-12190)

- Linux 内核 2.6.32 及更高版本受到拒绝服务影响,攻击者可通过淹没诊断端口 0x80,触发异常,导致内核错误。(CVE-2017-1000407)

- 在 Linux 内核 4.14.3 及之前版本中,本地用户可利用 net/dccp/proto.c 中的 dccp_disconnect 函数,在 DCCP_LISTEN 状态下通过 AF_UNSPEC 连接系统调用,获取权限,或造成拒绝服务(释放后使用)。(CVE-2017-8824)

- 在低于 4.12.9 的 Linux 内核版本中,mm/migrate.c 中的 move_pages 系统调用未检查目标进程的有效 UID,本地攻击者可利用此漏洞,绕过 ASLR,了解 setuid 可执行文件的内存布局。(CVE-2017-14140)

- 在 Linux 内核 4.10.6 及之前版本中,drivers/gpu/drm/vmwgfx/vmwgfx_surface.c 中的 vmw_surface_define_ioctl 函数未验证某些层级数据的添加,本地用户可利用此漏洞,通过对 /dev/dri/renderD* 设备构建的 ioctl 调用,触发整数溢出和越界写入,并造成拒绝服务(系统挂起或崩溃),或可能获取权限。(CVE-2017-7294)

- 在 CAF 中发布的使用 Linux 内核的所有 Android 版 Qualcomm 产品中,DMA 分配期间,截断分配大小才能在失败后成功分配,这是错误的大小数据类型所致。(CVE-2017-9725)

- 在低于 4.13 的 Linux 内核版本中,在 mm/hugetlb.c 中的 hugetlb_mcopy_atomic_pte 函数中发现一个缺陷。
对于 VM_SHARED hugetlbfs 映射,不必要的隐式页面解锁可触发本地拒绝服务(错误)。(CVE-2017-15127)

- 在网络命名空间代码中发现一个释放后使用漏洞,可影响低于 4.14.11 的 Linux 内核版本。net/core/net_namespace.c 中的 et_net_ns_by_id() 函数在 netns_ids idr 中发现对等网络之后未检查 net: : count 值,此漏洞可导致双重释放和内存损坏。非特权本地用户可利用此漏洞,造成系统上的内核内存损坏,进而导致崩溃。鉴于此缺陷的本质,虽然不太可能进行权限提升,但无法完全排除这种可能。(CVE-2017-15129)

- 在低于 4.13.8 的 Linux 内核版本中,ALSA 子系统中存在争用条件,本地用户可利用此漏洞,通过构建的 /dev/snd/seq ioctl 调用,造成拒绝服务(释放后使用),或可能造成其他不明影响,此问题与 sound/core/seq/seq_clientmgr.c 和 sound/core/seq/seq_ports.c 相关。(CVE-2017-15265)

- 在 Linux 内核 4.14.4 及之前版本中,启用 CONFIG_NLMON 时,net/netlink/af_netlink.c 中的 __netlink_deliver_tap_skb 函数未限制单个 net 命名空间的 Netlink 消息监测,本地用户可利用此漏洞,通过使用 CAP_NET_ADMIN 功能探查到系统上所有 Netlink 活动的 nlmon 接口,进而获取敏感信息。(CVE-2017-17449)

- 在 Linux 内核 4.14.5 及之前版本中,USB 核心子系统 drivers/usb/core/config.c 中的 usb_destroy_configuration 函数未先考虑配置和接口的最大数再尝试释放资源,本地用户可利用此漏洞,通过构建的 USB 设备,造成拒绝服务(越界写入访问),或可能造成其他不明影响。(CVE-2017-17558)

- 处理传入 L2CAP 命令 ConfigRequest 和 ConfigResponse 消息的过程中存在一个漏洞,可影响 Linux 内核 3.3-rc1 及更高版本。 存在此信息泄露问题的原因是,未初始化的堆栈变量可在未初始化状态下返回给攻击者。通过操纵在处理这些配置消息之前的代码流,攻击者还可获取对未初始化堆栈变量中所保留数据的一些控制权。攻击者可利用此漏洞,绕过 KASLR 和堆栈 canary 保护,因为通过此方式可泄露指针和堆栈 canary。将此漏洞与(例如)之前在 L2CAP 配置解析中披露的 RCE 漏洞 (CVE-2017-1000251) 结合使用,攻击者可针对使用上述缓解措施构建的内核利用 RCE。此漏洞的详情如下:在 l2cap_parse_conf_rsp 函数和 l2cap_parse_conf_req 函数中,已在未初始化的情况下声明以下变量:struct l2cap_conf_efs efs;此外,在解析这两个函数中的输入配置参数时,处理 EFS 元素的 switch case 还可能会跳过将写入 efs 变量的 memcpy 调用:... case L2CAP_CONF_EFS: if (olen == sizeof(efs)) memcpy(&efs;, (void
*)val, olen); ... 上面 if 条件中的 olen 是受攻击者控制的,不论该 if 条件如何编写,这两个函数中的 efs 变量最终都会被添加到正在构建的传出配置请求中:l2cap_add_conf_opt(&ptr;, L2CAP_CONF_EFS, sizeof(efs), (unsigned long) &efs;);因此,通过发送包含 L2CAP_CONF_EFS 元素(元素长度不是 sizeof(efs))的配置请求或响应,可避免使用未初始化 efs 变量的 memcpy,并会将未初始化的变量返回给攻击者(16 字节)。(CVE-2017-1000410)

- 在 Linux 内核 4.14.15 及之前版本中,本地用户可利用 drivers/acpi/sbshc.c 中的 acpi_smbus_hc_add 函数,通过从 SBS HC printk 调用读取 dmesg 数据,获取敏感地址信息。
(CVE-2018-5750)

在低于 4.6 版本的 Linux 内核中,drivers/media/tuners/tuner-xc2028.c 中的 xc2028_set_config 函数允许本地用户通过涉及省略特定数据结构的固件名称的向量获取权限,或造成拒绝服务(释放后使用)。CVE-2016-7913

- 内核 v4l2 视频驱动程序中存在权限提升漏洞。 产品:Android。版本:
Android 内核。Android ID A-34624167。(CVE-2017-13166)

- 在低于 4.2 的 Linux 内核版本中,攻击者可利用 crypto/rng.c 中的 rngapi_reset 函数,造成拒绝服务(空指针取消引用)。(CVE-2017-15116)

- 如果应用程序在文件中打洞,其结尾未与页面边界对齐,则非特权用户能够在 RHEL 6 或 7 上挂载 fuse 文件系统,并造成系统崩溃。(CVE-2017-15121)

- 在低于 4.13.6 的 Linux 内核版本中的 fs/userfaultfd.c 中发现释放后使用缺陷。此问题与处理事件消息时处理 fork 失败相关。未正确处理 fork 可造成通过 userfaultfd_ctx_put() 从已释放事件列表中删除 fork 事件的情况。(CVE-2017-15126)

- 在 Linux 内核 4.14.4 及之前版本中,对于新增、获取和删除操作,net/netfilter/nfnetlink_cthelper.c 不需要使用 CAP_NET_ADMIN 功能,本地用户可利用此漏洞,绕过预期访问限制,这是跨所有网络命名空间共享 nfnl_cthelper_list 数据结构所致。
(CVE-2017-17448)

- 在低于 4.11 的 Linux 内核版本以及低于 4.9.36 的 4.9.x 版本中,远程攻击者可利用 net/netfilter/xt_TCPMSS.c 中的 tcpmss_mangle_packet 函数,通过在 iptables 操作中使用存在的 xt_TCPMSS,造成拒绝服务(释放后使用和内存损坏),或可能造成其他不明影响。
(CVE-2017-18017)

- 在低于 4.14.3 的 Linux 内核版本中,本地用户可利用 drivers/md/dm.c 中的 dm_get_from_kobject 函数,通过在创建和删除 DM 设备期间使用 __dm_destroy 争用条件,造成拒绝服务(错误)。(CVE-2017-18203)

- 在 Linux 内核 4.13.3 及之前版本中,客户机操作系统用户可利用 KVM 子系统,通过越界 guest_irq 值,造成拒绝服务(断言失败和管理程序挂起或崩溃),此问题与 arch/x86/kvm/vmx.c 和 virt/kvm/eventfd.c 相关。(CVE-2017-1000252)

- 在低于 4.14.15 的 Linux 内核版本中,攻击者可利用 kernel/futex.c 中的 futex_requeue 函数,通过触发负唤醒或重新排队值,造成拒绝服务(整数溢出),或可能造成其他不明影响。(CVE-2018-6927)

- 在 Linux 内核 4.12、3.10、2.6 及可能更低的版本中,声音系统中存在争用条件漏洞,可造成死锁和拒绝服务的情况。(CVE-2018-1000004)

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

解决方案

更新受影响的程序包。

另见

https://linux.oracle.com/errata/ELSA-2018-1062.html

插件详情

严重性: Critical

ID: 109113

文件名: oraclelinux_ELSA-2018-1062.nasl

版本: 1.11

类型: local

代理: unix

发布时间: 2018/4/18

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

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

风险信息

VPR

风险因素: High

分数: 7.4

CVSS v2

风险因素: Critical

基本分数: 10

时间分数: 7.8

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

CVSS 分数来源: CVE-2017-18017

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, 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/OracleLinux, Host/RedHat/release, Host/RedHat/rpm-list, Host/local_checks_enabled

可利用: true

易利用性: Exploits are available

补丁发布日期: 2018/4/16

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

参考资料信息

CVE: CVE-2016-3672, CVE-2016-7913, CVE-2016-8633, CVE-2017-1000252, CVE-2017-1000407, CVE-2017-1000410, CVE-2017-12154, CVE-2017-12190, CVE-2017-13166, CVE-2017-13305, CVE-2017-14140, CVE-2017-15116, CVE-2017-15121, CVE-2017-15126, CVE-2017-15127, CVE-2017-15129, CVE-2017-15265, CVE-2017-15274, CVE-2017-17448, CVE-2017-17449, CVE-2017-17558, CVE-2017-18017, CVE-2017-18203, CVE-2017-18270, CVE-2017-7294, CVE-2017-8824, CVE-2017-9725, CVE-2018-1000004, CVE-2018-5750, CVE-2018-6927

RHSA: 2018:1062