NewStart CGSL MAIN 4.05:内核多个漏洞 (NS-SA-2019-0152)

high Nessus 插件 ID 127425

语言:

简介

远程机器受到多个漏洞影响。

描述

运行版本 MAIN 4.05 的远程 NewStart CGSL 主机安装有受多个漏洞影响的内核程序包:- 发现 AIO 界面未使用具有扩展功能的适当 rw_verify_area() helper 函数,例如强制锁定文件。例如,同样进行 rw_verify_area() 扩展检查,访问的大小不会造成提供的偏移量限制溢出。在 3.4.1 之前的 Linux 内核中,在 fs/aio.c 的该整数溢出,允许本地用户通过大 AIO iovec 造成拒绝服务或可能造成其他不明影响。(CVE-2012-6701) - 在 Linux 内核 4.0 中,fs/aio.c 的 aio_setup_single_vector 函数存在整数溢出,允许本地用户通过大 AIO iovec 造成拒绝服务或可能造成其他不明影响。请注意:此漏洞存在的原因在于 CVE-2012-6701 回归。(CVE-2015-8830) - 已发现远程攻击者可利用 IPv6 原子片段的生成,在任意 IPv6 流中触发片段的使用(在不需要数据包实际片段化的情况下),之后再对未实施 RFC6946 的旧式 IPv6 节点执行任何类型的基于片段化攻击。(CVE-2016-10142) - 在 Linux 内核 aacraid 实现的 ioctl_send_fib() 函数中发现争用条件缺陷。本地攻击者会利用此缺陷,通过更改特定大小值,造成拒绝服务(越界访问或系统崩溃)。(CVE-2016-6480) - 已发现当 gcc 堆栈保护程序启用时,由于堆栈损坏,读取 /proc/keys 文件会在 Linux 内核中引发错误。发生这种情况是因为使用错误的缓冲区大小,来保存 64 位以周呈现的超时值。(CVE-2016-7042) - 已发现当通过 chmod 修改文件权限,并且进行修改的用户不在所属组或无法 CAP_FSETID 时,setgid 位将被清除。通过 setxattr 设置 POSIX ACL 可设置文件权限以及新 ACL,但无法以类似方式清除 setgid 位。这会使本地用户通过特定 setgid 应用程序,获得群组权限。(CVE-2016-7097) - 在本地攻击者具有 CAP_NET_ADMIN 能力的情况下,Linux 网络子系统中发现缺陷,可通过创建小于预期的 ICMP 标头并通过 sendto() 发送至其目标,从而造成越界内存访问问题。(CVE-2016-8399) - 在 Linux 内核密钥管理子系统中发现缺陷,本地攻击者可通过提供特制的 RSA 密钥,致使内核崩溃,或损坏堆栈及其他内存(拒绝服务)。在 RSA 密钥验证期间,此缺陷致使机器损坏。(CVE-2016-8650) - 在 Linux 内核中,ALSA 子系统的 snd_pcm_info() 函数的使用后释放漏洞允许攻击者引发内核内存损坏,并可能造成崩溃或锁定系统。鉴于此缺陷的本质,虽然我们认为不太可能进行权限提升,但无法完全排除这种可能。(CVE-2017-0861) - 在 Linux 内核网络子系统中的原始数据包套接字实现处理同步的方式中发现争用条件问题。能够打开原始数据包套接字的本地用户(需具备 CAP_NET_RAW 能力)可利用此缺陷消耗内核环形缓冲区的资源,或可能造成导致系统崩溃的堆越界读取。(CVE-2017-1000111) - 在 Linux 内核网络子系统的 Netlink 功能中发现释放后使用缺陷。由于 mq_notify 函数中清除不充分,本地攻击者可利用此缺陷提升其在系统上的权限。(CVE-2017-11176) - 据发现,在 Linux 内核 v4.14-rc5 及之前版本中,如果 IO 向量具有属于相同页面的小型连续缓冲区,'block/bio.c' 中的 bio_map_user_iov() 和 bio_unmap_user() 会为错乱的页面进行参照计数。bio_add_pc_page() 会将这些页面合并为一个页面,但是页面引用永远不会遭到卸除,进而造成内存泄漏,而且可能会因为内存不足情况而造成系统锁定。(CVE-2017-12190) - 在 Linux 内核的函数 __tcp_select_window 中发现除零错误漏洞。可导致内核恐慌,造成本地拒绝服务。(CVE-2017-14106) - 若应用程序在文件中打洞,其结尾未与页面边界对齐,则非特权用户就能够在 RHEL 6 或 7 上挂载 fuse 文件系统,并造成系统崩溃。(CVE-2017-15121) - 将 ioctl 发至声音设备时,发现一个释放后使用漏洞。允许用户恶意利用争用条件,并造成内存损坏,或可能提升权限。(CVE-2017-15265) - 在低于 4.14.3 版本的 Linux 内核容易受到 drivers/md/dm.c:dm_get_from_kobject() 中拒绝服务的影响,这是本地用户在创建和移除 DM 设备期间利用 __dm_destroy() 争用条件所导致。只有本地特权用户(具备 CAP_SYS_ADMIN 能力)可直接针对 dm 设备创建和移除执行 ioctl 操作,这通常不在非特权攻击者的直接控制之内。(CVE-2017-18203) - 在 Linux 内核的链路层控制实现中发现一个导致空指针取消引用的争用条件。具有对 ping 套接字的本地攻击者可利用此缺陷造成系统崩溃。(CVE-2017-2671) - 已发现 CVE-2016-6786 的初始修复不完整。当两个并发 sys_perf_event_open() 调用同时试图将相同已有的软件群组移动至硬件环境中时,存在争用条件。(CVE-2017-6001) - 在 Linux 内核处理具有 URG 标志的数据包时发现缺陷。使用 splice() 和 tcp_splice_read() 功能的应用程序,允许远程攻击者强制内核进入无限循环的环境中。(CVE-2017-6214) - 版本 v3.9-rc1 至 v4.13-rc1 的 Linux 内核的 brcmf_cfg80211_mgmt_tx() 函数中发现由缓冲区溢出导致的内核内存损坏。此漏洞可由通过 netlink 发送经构建的 NL80211_CMD_FRAME 数据包而触发。由于需要特定的用户空间代码,此缺陷无法远程触发。本地非特权用户可利用此缺陷引发系统内核内存损坏,导致崩溃。鉴于此缺陷的本质,无法完全排除权限提升,我们也认为不可能。(CVE-2017-7541) - 在 ip6_find_1stfragopt() 函数中发现整数溢出漏洞。具有可打开原始套接字的 (CAP_NET_RAW) 特权的攻击者,可在 ip6_find_1stfragopt() 中造成无限循环。(CVE-2017-7542) - 在 Linux 内核中,在“mm/mempolicy.c”的 set_mempolicy() 和 mbind() compat 系统调用中,不正确的错误处理允许本地用户通过触发特定位图操作失败,从未初始化的堆栈数据获取敏感信息。(CVE-2017-7616) - 4.10.10 之前的 Linux 内核的 mm 子系统未正确执行 CONFIG_STRICT_DEVMEM 保护机制,允许本地用户通过打开 /dev/mem 文件的应用程序在首个兆字节读取或写入至内核内存位置(并绕过 slab 分配访问限制),此问题与 arch/x86/mm/init.c 和 drivers/char/mem.c 相关。(CVE-2017-7889) - Linux 内核中的 IPv6 碎片实现未考虑 nexthdr 字段可能与无效选项相关联,从而允许本地用户通过构建的套接字及发送系统调用造成拒绝服务(越界读取和错误),或可能产生其他不明影响。鉴于此缺陷的本质,虽然我们认为不太可能进行权限提升,但无法完全排除这种可能。(CVE-2017-9074) - 在 4.12 版、3.10 版、2.6 版和可能更早版本的 Linux 内核中,声音系统内存在争用条件漏洞,由于释放后使用情况会出现潜在死锁和内存损坏,并因此造成拒绝服务。鉴于此缺陷的本质,虽然我们认为不太可能进行权限提升,但无法完全排除这种可能。(CVE-2018-1000004) - 在 Linux 内核中,net/dccp/output.c 的 dccp_write_xmit() 函数中存在空指针取消引用,允许本地用户通过几个特定的构建系统调用造成拒绝服务。(CVE-2018-1130) - 现代 Intel 微处理器实现硬件级别的微优化,以提高将数据写入 CPU 缓存的性能。写入操作已拆分成 STA(STore 地址)和 STD(STore 数据)子操作。这些子操作允许处理器将地址生成逻辑提交至这些子操作,以实现优化写入。这些子操作均会被写入称为“处理器存储缓冲区”的共享分布式处理器结构。因此,非特权攻击者可利用此缺陷读取在 CPU 处理器存储缓冲区中常驻的私人数据。(CVE-2018-12126) - 微处理器使用“加载端口”子组件执行内存或 IO 的加载操作。在加载操作期间,加载端口会接收来自内存或 IO 子系统的数据,然后将数据提供给 CPU 寄存器和 CPU 管道中的操作。过时的加载操作结果存储于“加载端口”表格中,直至被更新的操作覆盖。攻击者触发的特定加载端口操作可用于泄露之前过时请求相关数据,通过计时边信道将数据泄露回攻击者。(CVE-2018-12127) - 在填充缓冲区的实现中发现一个缺陷,这是一种当 L1 CPU 缓存上出现缓存缺失时现代 CPU 所使用的机制。如果攻击者所生成的加载操作将产生页面错误,则从更高层级缓存提取数据时,执行将继续推测使用来自填充缓冲区的不正确数据。可测量此响应时间以推断填充缓冲区中的数据。(CVE-2018-12130) - 在 Linux 内核的 fs/inode.c:inode_init_owner() 函数逻辑中发现一个漏洞,当目录是 SGID 且属于特定群组,并可由非此群组成员的用户写入时,允许本地用户创建具有非预定群组所有权、且具有群组执行和 SGID 权限位集的文件。这会导致在不应授权的情况下授予过多的权限。(CVE-2018-13405) - 在 Linux 内核于任务切换期间保存和恢复 FPU 状态的方式中,发现一个浮点单元 (FPU) 状态信息泄露缺陷。按照“延迟 FPU 恢复”方案的 Linux 内核容易受到 FPU 状态信息泄露问题的影响。非特权本地攻击者可利用此缺陷通过执行目标缓存边信道攻击来读取 FPU 状态位,与今年早些时候揭露的 Meltdown 漏洞类似。(CVE-2018-3665) - _sctp_make_chunk() 函数 (net/sctp/sm_make_chunk.c) 中的错误在处理 SCTP 时,恶意本地用户可利用数据包长度,造成内核崩溃和 DoS。(CVE-2018-5803) - 当发生首次写入,并且池为空时,ALSA 序列发生器核心通过触发 snd_seq_pool_init(),根据需求初始化事件池。用户可同时通过 ioctl 手动重置池大小,这可能导致 UAF 或越界访问。(CVE-2018-7566) - 某些利用推测执行的微处理器上的不可缓存内存,可能会允许经身份验证的用户通过具有本地访问权的边信道造成信息泄露。(CVE-2019-11091) 请注意,Nessus 并未针对此问题进行测试,而仅依赖应用程序自我报告的版本号。

解决方案

升级易受攻击的 CGSL 内核程序包。请注意,可能尚无可用的已更新程序包。请联系 ZTE 获取更多信息。

另见

http://security.gd-linux.com/notice/NS-SA-2019-0152

插件详情

严重性: High

ID: 127425

文件名: newstart_cgsl_NS-SA-2019-0152_kernel.nasl

版本: 1.7

类型: local

发布时间: 2019/8/12

最近更新时间: 2022/12/6

支持的传感器: Nessus

风险信息

VPR

风险因素: Critical

分数: 9.2

CVSS v2

风险因素: High

基本分数: 7.6

时间分数: 6.6

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

CVSS 分数来源: CVE-2017-6001

CVSS v3

风险因素: High

基本分数: 7.8

时间分数: 7.5

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

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

CVSS 分数来源: CVE-2018-7566

漏洞信息

必需的 KB 项: Host/local_checks_enabled, Host/cpu, Host/ZTE-CGSL/release, Host/ZTE-CGSL/rpm-list

可利用: true

易利用性: Exploits are available

补丁发布日期: 2019/7/17

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

参考资料信息

CVE: CVE-2012-6701, CVE-2015-8830, CVE-2016-10142, CVE-2016-6480, CVE-2016-7042, CVE-2016-7097, CVE-2016-8399, CVE-2016-8650, CVE-2017-0861, CVE-2017-1000111, CVE-2017-11176, CVE-2017-12190, CVE-2017-14106, CVE-2017-15121, CVE-2017-15265, CVE-2017-18203, CVE-2017-2671, CVE-2017-6001, CVE-2017-6214, CVE-2017-7541, CVE-2017-7542, CVE-2017-7616, CVE-2017-7889, CVE-2017-9074, CVE-2018-1000004, CVE-2018-1130, CVE-2018-12126, CVE-2018-12127, CVE-2018-12130, CVE-2018-13405, CVE-2018-3665, CVE-2018-5803, CVE-2018-7566, CVE-2019-11091

BID: 102329, 106503