Oracle Linux 6:Unbreakable Enterprise 内核 (ELSA-2017-3535)

high Nessus 插件 ID 99161

简介

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

描述

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

- 在低于 4.0.6 的 Linux 内核版本中,本地用户可利用 arch/x86/net/bpf_jit_comp.c 中的 bpf_int_jit_compile 函数,通过创建数据包过滤器,然后加载构建的触发 JIT 编译器迟收敛的 BPF 指令,造成拒绝服务(系统崩溃)。(CVE-2015-4700)

- 在 Linux 内核 4.9 及之前版本中,sg 实现在设定 KERNEL_DS 选项的情况下,未正确限制写入操作,本地用户可利用此漏洞,通过使用对 /dev/sg 设备的访问权限,在任意内核内存位置读取或写入,或者造成拒绝服务(释放后使用),此问题与 block/bsg.c 和 drivers/scsi/sg.c 相关。注意:存在此漏洞的原因是未完整修复 CVE-2016-9576。(CVE-2016-10088)

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

- 在 IPv6 协议规范中发现与“ICMP 数据包太大 (PTB)”消息相关的问题。
(此 CVE 的范围会影响到所有供应商的所有 IPv6 实现)。[RFC6274] 和 [RFC7739] 中详细讨论了 IP 碎片的安全意义。攻击者可利用 IPv6 原子片段的生成,在任意 IPv6 流中触发片段的使用(在不需要数据包实际碎片的情况下),之后再对未实施 [RFC6946] 的旧版 IPv6 节点执行任何类型的碎片攻击。亦即,在实际不需要的情况下实施碎片会为碎片攻击向量提供不必要的可趁之机。遗憾的是,我们注意到即使已经实现了 [RFC6946] 的节点也可能因生成了 IPv6 原子片段而受到 DoS 攻击。我们假设主机 A 正在与主机 B 通信,并且由于包含扩展标头(包括碎片)的 IPv6 数据包受到广泛丢弃 [RFC7872],因此部分中间节点会过滤主机 B 和主机 A 间的片段。如果攻击者向主机 B 发送伪造的 ICMPv6 PTB 错误消息,报告的 MTU 小于 1280,就会触发从该时刻起生成 IPv6 原子片段(根据 [RFC2460] 的要求)。当主机 B 开始发送 IPv6 原子片段(为响应收到的 ICMPv6 PTB 错误消息)时,这些数据包就会受到丢弃,由于我们曾注意到,带有扩展标头的 IPv6 数据包会在主机 B 和主机 A 间受到丢弃。因此,这种情况会造成 DoS 的状况。另一种可能的情况是,两个 BGP 对等点使用 IPv6 传输,并且实现了访问控制列表 (ACL) 丢弃 IPv6 片段(避免控制平面攻击)。如果上述 BGP 对等点丢弃了 IPv6 片段,但仍接受收到的 ICMPv6 PTB 错误消息,则攻击者仅需发送一条报告的 MTU 小于 1280 字节的 ICMPv6 PTB 消息即可轻松攻击相应的对等会话。在发送攻击数据包后,上述路由器会立即丢弃自己的流量。(CVE-2016-10142)

- 在 Linux 内核 4.10.4 及之前版本中,本地用户可利用 drivers/scsi/sg.c 中的 sg_ioctl 函数,通过 SG_NEXT_CMD_LEN ioctl 调用中的大型命令,造成拒绝服务(基于堆栈的缓冲区溢出),或可能造成其他不明影响,进而导致 sg_write 函数存在越界写入访问漏洞。(CVE-2017-7187)

- 在 Linux 内核 4.10.1 及之前版本中,drivers/tty/n_hdlc.c 中存在争用条件,本地用户可利用此漏洞,通过设置 HDLC 线路规则,获取权限或造成拒绝服务(双重释放)。(CVE-2017-2636)

- 在 Linux 内核 4.8.2 及之前版本中,drivers/scsi/arcmsr/arcmsr_hba.c 中的 arcmsr_iop_message_xfer 函数未限制特定长度字段,本地用户可利用此漏洞,通过 ARCMSR_MESSAGE_WRITE_WQBUFFER 控制代码,获取权限或造成拒绝服务(基于堆的缓冲区溢出)。(CVE-2016-7425)

- 在低于 4.5.5 的 Linux 内核版本中,net/x25/x25_facilities.c 中的 x25_negotiate_facilities 函数未正确初始化某个数据结构,攻击者可利用此漏洞,通过 X.25 调用请求,从内核堆栈内存获取敏感信息。(CVE-2016-4580)

- 在某些异常的硬件配置中,远程攻击者可利用低于 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)

- 在低于 4.8.10 的 Linux 内核版本中,TCP 堆栈未正确处理 skb 截断,本地用户可利用此漏洞,通过构建的进行 sendto 系统调用的应用程序,造成拒绝服务(系统崩溃),此问题与 net/ipv4/tcp_ipv4.c 和 net/ipv6/tcp_ipv6.c 相关。(CVE-2016-8645)

- 在低于 4.5.1 的 Linux 内核版本中,物理邻近攻击者可利用 drivers/usb/serial/digi_acceleport.c 中的 digi_port_init 函数,通过 USB 设备描述符中构建的端点值,造成拒绝服务(空指针取消引用和系统崩溃)。(CVE-2016-3140)

- 在低于 4.9.13 的 Linux 内核版本中,LLC 子系统未确保在所需情况下提供特定析构函数,本地用户可利用此漏洞,通过构建的系统调用,造成拒绝服务 (BUG_ON),或可能造成其他不明影响。(CVE-2017-6345)

- 在低于 4.1 的 Linux 内核 2.6.x 至 4.x 版本中,drivers/scsi/sg.c 中的 sg_start_req 函数中存在整数溢出,本地用户可利用此漏洞,通过写入请求中的较大 iov_count 值,造成拒绝服务,或可能造成其他不明影响。(CVE-2015-5707)

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

解决方案

更新受影响的程序包。

另见

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

插件详情

严重性: High

ID: 99161

文件名: oraclelinux_ELSA-2017-3535.nasl

版本: 3.14

类型: local

代理: unix

发布时间: 2017/4/3

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

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

风险信息

VPR

风险因素: High

分数: 7.4

CVSS v2

风险因素: High

基本分数: 7.6

时间分数: 6

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

CVSS 分数来源: CVE-2016-8399

CVSS v3

风险因素: High

基本分数: 8.6

时间分数: 7.7

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

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

漏洞信息

CPE: cpe:/o:oracle:linux:5, cpe:/o:oracle:linux:6, 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-firmware

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

可利用: true

易利用性: Exploits are available

补丁发布日期: 2017/3/31

漏洞发布日期: 2015/6/19

参考资料信息

CVE: CVE-2015-4700, CVE-2015-5707, CVE-2016-10088, CVE-2016-10142, CVE-2016-3140, CVE-2016-3672, CVE-2016-4580, CVE-2016-7425, CVE-2016-8399, CVE-2016-8633, CVE-2016-8645, CVE-2017-2636, CVE-2017-6345, CVE-2017-7187