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

high Nessus 插件 ID 127146

语言:

简介

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

描述

运行版本 MAIN 5.04 的远程 NewStart CGSL 主机安装有受多个漏洞影响的内核程序包:- 在到 Linux 内核 3.11 为止的所有版本中,人机接口设备 (HID) 子系统的 drivers/hid/hid-core.c 中的多个数组索引错误允许物理临近的攻击者通过提供无效报告 ID 的构建设备,执行任意代码或造成拒绝服务(堆内存损毁)。(CVE-2013-2888) - 当启用 CONFIG_HID_ZEROPLUS 时,在到 Linux 内核 3.11 为止的所有版本中,人机接口设备 (HID) 子系统中的 drivers/hid/hid-zpff.c 允许物理临近的攻击者通过构建的设备而造成拒绝服务(基于堆的越界写入)。(CVE-2013-2889) - 当启用 CONFIG_HID_PANTHERLORD 时,在到 Linux 内核 3.11 为止的所有版本中,人机接口设备 (HID) 子系统中的 drivers/hid/hid-pl.c 允许物理临近的攻击者通过构建的设备造成拒绝服务(基于堆的越界写入)。(CVE-2013-2892) - 低于 3.12.2 版本的 Linux 内核,kernel/trace/trace_event_perf.c 中的 perf_trace_event_perm 函数未正确限制 perf 子系统的访问权限,允许本地用户通过构建的应用程序启用函数追踪。(CVE-2013-2930) - 在到 Linux 内核 3.10.3 为止的所有版本中,drivers/vhost/net.c 的 vhost_net_set_backend 函数中的释放后使用漏洞允许本地用户通过涉及启动虚拟机的向量,造成拒绝服务(OOPS 和系统崩溃)。(CVE-2013-4127) - 在到 Linux 内核 3.10.3 为止的所有版本中,IPv6 实现的 net/ipv6/udp.c 中的 udp_v6_push_pending_frames 函数对挂起的数据进行不正确的函数调用,允许本地用户通过在 setsockopt 系统调用中使用 UDP_CORK 选项的构建应用程序,造成拒绝服务(BUG 和系统崩溃)。(CVE-2013-4162) - 在到 Linux 内核 3.10.3 为止的所有版本中,IPv6 实现的 net/ipv6/ip6_output.c 中的 ip6_append_data_mtu 函数未正确维护有关是否已指定 IPV6_MTU setsockopt 选项的信息,允许本地用户通过在 setsockopt 系统调用中使用 UDP_CORK 选项的构建应用程序,造成拒绝服务(BUG 和系统崩溃)。(CVE-2013-4163) - 在到 Linux 内核 3.11.1 为止的所有版本的 drivers/net/tun.c 中的释放后使用漏洞允许本地用户通过利用 CAP_NET_ADMIN 功能及在 TUNSETIFF ioctl 调用中提供无效的 tuntap 接口名称,获取权限。(CVE-2013-4343) - 在到 Linux 内核 3.12 为止的所有版本中,net/core/flow_dissector.c 中的 skb_flow_dissect 函数允许远程攻击者通过具有 IPIP 封装的数据包 IHL 字段中的小值,造成拒绝服务(无限循环)。(CVE-2013-4348) - 在到 Linux 内核 3.11.1 为止的所有版本中,net/sctp/ipv6.c 中的 IPv6 SCTP 实现利用不会触发 IPsec 加密预期配置的数据结构和函数调用,允许远程攻击者通过探查网络获取敏感信息。(CVE-2013-4350) - 在到 Linux 内核 3.11.4 为止的所有版本中,net/ipv6/ip6_output.c 未在大型数据包进行 UFO 排序之后,正确判断是否需要小型数据包的 UDP Fragmentation Offload (UFO) 处理,允许远程攻击者通过会触发大型响应数据包的网络流量,造成拒绝服务(内存损坏和系统崩溃)或可能产生其他不明影响。(CVE-2013-4387) - 当启用 UDP Fragmentation Offload (UFO) 时,在到 Linux 内核 3.12 为止的所有版本中,net/ipv6/udp_offload.c 中的 udp6_ufo_fragment 函数在插入碎片标头之前,未正确执行特定大小比较,这允许远程攻击者通过大型 IPv6 UDP 数据包造成拒绝服务(错误),使用令牌桶过滤器 (TBF) 队列规定即为一例。(CVE-2013-4563) - 在到 Linux 内核 3.12 为止的所有版本中,drivers/net/wireless/ath/ath9k/htc_drv_main.c 中的 ath9k_htc_set_bssid_mask 函数使用 BSSID 掩码方式确定 Wi-Fi 设备正在侦听的 MAC 地址集,允许远程攻击者通过使用特定位操作,向 MAC 地址发送一系列数据包,在欺骗后发现原始 MAC 地址。(CVE-2013-4579) - 在到 Linux 内核 3.12.5 为止的所有版本中,KVM 子系统中的 virt/kvm/kvm_main.c 内的 kvm_vm_ioctl_create_vcpu 函数中存在数组索引错误,允许本地用户通过大型 id 值获取权限。(CVE-2013-4587) - 在到 Linux 内核 3.12.5 为止的所有版本中,KVM 子系统中的 arch/x86/kvm/lapic.c 内的 apic_get_tmcct 函数允许客户机 OS 用户通过构建 TMICT 值修改,造成拒绝服务(除零错误和主机 OS 崩溃)。(CVE-2013-6367) - 在到 Linux 内核 3.12.5 为止的所有版本中,KVM 子系统允许本地用户通过涉及页尾地址的 VAPIC 同步操作,获取权限或造成拒绝服务(系统崩溃)。(CVE-2013-6368) - 3.12.5 及之前版本的 Linux 内核中 KVM 子系统的 arch/x86/kvm/lapic.c 的 recalculate_apic_map 函数允许客户机操作系统用户通过在 x2apic 模式下执行构建的 ICR 写入操作,造成拒绝服务(主机操作系统崩溃)。(CVE-2013-6376) - 在到 Linux 内核 3.12.1 为止的所有版本中,drivers/net/wireless/libertas/debugfs.c 内的 lbs_debugfs_write 函数允许本地用户通过利用针对零长度写入操作的根权限,造成拒绝服务 (OOPS)。(CVE-2013-6378) - 在到 Linux 内核 3.12.1 为止的所有版本中,drivers/scsi/aacraid/commctrl.c 中的 aac_send_raw_srb 函数未正确验证特定大小值,允许本地用户通过触发构建 SRB 命令的 FSACTL_SEND_RAW_SRB ioctl 调用,造成拒绝服务(无效指针取消引用)或可能产生其他不明影响。(CVE-2013-6380) - 在到 Linux 内核 3.12.1 为止的所有版本中,XFS 实现中的多个缓冲区下溢,允许本地用户通过利用具有构建长度值的 (1) XFS_IOC_ATTRLIST_BY_HANDLE 或 (2) XFS_IOC_ATTRLIST_BY_HANDLE_32 ioctl 调用的 CAP_SYS_ADMIN 功能,造成拒绝服务(内存损坏)或可能产生其他不明影响,这与 fs/xfs/xfs_ioctl.c 中的 xfs_attrlist_by_handle 函数和 fs/xfs/xfs_ioctl32.c 中的 xfs_compat_attrlist_by_handle 函数相关。(CVE-2013-6382) - 在低于 3.12.2 的 Linux 内核中,ipc/shm.c 中的多个争用条件允许本地用户通过使用与其他 shm 系统调用相结合之 shmctl IPC_RMID 操作的构建应用程序,造成拒绝服务(释放后使用和系统崩溃)或可能产生其他不明影响。(CVE-2013-7026) - 在 3.12.4 之前版本的 Linux 内核中 drivers/isdn/mISDN/socket.c 中的 mISDN_sock_recvmsg 函数不会确保某个长度值与相关数据结构的大小一致,从而允许本地用户通过 (1) recvfrom、(2) recvmmsg 或 (3) recvmsg 系统调用从内核内存中获得敏感信息。(CVE-2013-7266) - 在低于 3.12.4 版本的 Linux 内核中,net/appletalk/ddp.c 的 atalk_recvmsg 函数未确保完成相关数据结构初始化便更新了特定长度值,允许本地用户通过 (1) recvfrom、(2) recvmmsg 或 (3) recvmsg 系统调用,从内核内存获取敏感信息。(CVE-2013-7267) - 在低于 3.12.4 版本的 Linux 内核中,net/ipx/af_ipx.c 的 ipx_recvmsg 函数未确保完成相关数据结构初始化便更新了特定长度值,允许本地用户通过 (1) recvfrom、(2) recvmmsg 或 (3) recvmsg 系统调用,从内核内存获取敏感信息。(CVE-2013-7268) - 在低于 3.12.4 版本的 Linux 内核中,net/netrom/af_netrom.c 的 nr_recvmsg 函数未确保完成相关数据结构初始化便更新了特定长度值,允许本地用户通过 (1) recvfrom、(2) recvmmsg 或 (3) recvmsg 系统调用,从内核内存获取敏感信息。(CVE-2013-7269) - 在低于 3.12.4 版本的 Linux 内核中,net/packet/af_packet.c 的 packet_recvmsg 函数在确定相关数据结构完成初始化之前,便更新了特定长度值,这允许本地用户通过 (1) recvfrom、(2) recvmmsg 或 (3) recvmsg 系统调用从内核内存中获取敏感信息。(CVE-2013-7270) - 在低于 3.12.4 版本的 Linux 内核中,net/x25/af_x25.c 的 x25_recvmsg 函数未确保完成相关数据结构初始化便更新了特定长度值,允许本地用户通过 (1) recvfrom、(2) recvmmsg 或 (3) recvmsg 系统调用,从内核内存获取敏感信息。(CVE-2013-7271) - 在低于 3.13.6 版本的 Linux 内核中,arch/x86/kvm/x86.c 的 complete_emulated_mmio 函数存在缓冲区溢出,允许客户机 OS 用户通过利用会触发影响特定 cancel_work_item 数据的无效内存复制的循环,在主机 OS 上执行任意代码。(CVE-2014-0049) - 在 Red Hat Enterprise Linux (RHEL) 6 的低于 2.6.32-431.11.2 版本的 Linux 内核程序包中,vhost-net 子系统的 drivers/vhost/net.c 的 get_rx_bufs 函数未妥当处理 vhost_get_vq_desc 错误,允许客户机 OS 用户通过不明向量造成拒绝服务(主机 OS 崩溃)。(CVE-2014-0055) - 在 3.13.5 版和之前版本的 Linux 内核中,fs/cifs/file.c 的 cifs_iovec_write 函数未正确处理未缓存的写入操作,该操作复制的字节数少于要求的字节数,从而允许本地用户从内核内存获取敏感信息,进而造成拒绝服务(内存损坏和系统崩溃),或者可能通过具有构建指针的 writev 系统调用获取权限。(CVE-2014-0069) - 在低于 3.13.10 版本的 Linux 内核中,停用可合并的缓冲区时,drivers/vhost/net.c 并未正确验证数据包长度,从而允许客户机 OS 用户造成拒绝服务(内存损坏和主机 OS 崩溃),或者可能通过构建与 handle_rx 和 get_rx_bufs 函数相关的数据包,在主机 OS 上获取权限。(CVE-2014-0077) - 在 3.13.6 版及之前版本的 Linux 内核中,net/ipv4/inet_fragment.c 的 inet_frag_intern 函数中存在争用条件,从而允许远程攻击者造成拒绝服务(释放后使用错误),或者可能通过具有大量 CPU 负载系统的碎片化 ICMP Echo Request 大型数据包系列,造成其他不明影响。(CVE-2014-0100) - 初始化 SCTP 连接期间,在 Linux 内核处理经验证 COOKIE_ECHO 区块的方式中,发现一个缺陷。远程攻击者可利用此缺陷,发起特别构建的 SCTP 握手以在系统上触发空指针取消引用,从而导致系统崩溃。(CVE-2014-0101) - 在 3.13.6 版和之前版本的 Linux 内核中,security/keys/keyring.c 的 keyring_detect_cycle_iterator 函数未正确判断 keyring 是否相同,从而允许本地用户通过构建的 keyctl 命令造成拒绝服务 (OOPS)。(CVE-2014-0102) - 在 3.13.6 版和之前版本的 Linux 内核中,net/core/skbuff.c 的 skb_segment 函数存在释放后使用漏洞,从而允许攻击者利用缺少某些孤立操作,从内核内存中获取敏感信息。(CVE-2014-0131) - 在 3.14.1 版和之前版本的 Linux 内核中,virt/kvm/ioapic.c 的 ioapic_deliver 函数未正确验证 kvm_irq_delivery_to_apic 返回值,从而允许客户机 OS 用户通过 I/O APIC 重定向表中的构建条目,造成拒绝服务(主机 OS 崩溃)。注意:在漏洞公布之前,受影响的代码已经移动到 ioapic_service 函数。(CVE-2014-0155) - 在 AMD K7 和 K8 平台的 3.12.8 之前的 Linux 内核中,arch/x86/include/asm/fpu-internal.h 的 restore_fpu_checking 函数未在继续 EMMS 指令前清理挂起异常,允许本地用户通过构建的应用程序造成拒绝服务 (taskkill) 或可能获取权限。(CVE-2014-1438) - 在低于 3.12.8 版本的 Linux 内核中,net/netfilter/nf_nat_irc.c 的 help 函数允许远程攻击者通过创建 IRC DCC 会话(该会话的错误数据包数据会在使用 NAT mangle 功能期间被传输)从内核内存中获取敏感信息。(CVE-2014-1690) - 在 3.13.6 版和之前版本的 Linux 内核中,net/ipv6/route.c 的 ip6_route_add 函数未正确计算新增的路由数,从而允许远程攻击者通过大量的 ICMPv6 Router Advertisement 数据包造成拒绝服务(内存消耗)。(CVE-2014-2309) - 在 3.13.6 版和之前版本的 Linux 内核中,net/netfilter/nf_conntrack_proto_dccp.c 未正确使用 DCCP 标头指针,从而允许远程攻击者通过可对 (1) dccp_new、(2) dccp_packet 或 (3) dccp_error 函数触发调用的 DCCP 数据包,造成拒绝服务(系统崩溃),或者可能执行任意代码。(CVE-2014-2523) - 据发现,在某些情况下,Linux 内核的内存管理子系统中的 try_to_unmap_cluster() 函数并未正确处理页面锁定,这可能触发 mlock_vma_page() 函数中的 BUG_ON() 宏。本地非特权用户可利用此缺陷导致系统崩溃。(CVE-2014-3122) - 在 Linux 内核的 kvm_iommu_map_pages() 函数处理 IOMMU 映射失败的方式中,发现一个缺陷。分配了主机设备的客户机中的特权用户可利用此缺陷导致主机崩溃。(CVE-2014-3601) - 据发现,KVM 的写入到特殊模块寄存器 (WRMSR) 指令仿真将来宾传入的非规范值写入到主机环境的特定 MSR 中。特权客户机用户可利用此缺陷导致主机崩溃。(CVE-2014-3610) - 在低于 3.14.8 版本的 Linux 内核中的功能实现未正确地考虑命名空间不适用于 inode,允许本地用户通过首先创建用户命名空间以绕过预定的 chmod 限制,以 root 的组所有权在文件上设置 setgid 位即为一例。(CVE-2014-4014) - 在 Ceph 中(如在低于 3.16.3 版本的 Linux 内核中所使用),net/ceph/auth_x.c 的缓冲区溢出允许远程攻击者通过长的未加密 auth 票证造成拒绝服务(内存损坏和错误),或可能造成其他不明影响。(CVE-2014-6416) - 在低于 3.18-rc2 版本的 Linux 内核中,KVM 子系统的 arch/x86/kvm/emulate.c 中的指令解码器缺乏适用于特定 RIP 相关指令的预期 decoder-table 标志,允许客户机 OS 用户通过构建的应用程序造成拒绝服务(空指针取消引用和主机 OS 崩溃)。(CVE-2014-8480) - 在 3.17.4 版和之前版本的 Linux 内核在某些命名空间情况中,未正确限制删除补充的组成员身份,允许本地用户通过利用包含与 kernel/groups.c、kernel/uid16.c 和 kernel/user_namespace.c 相关且比其他类别的条目更严格的组类别条目(即否定组问题)的 POSIX ACL,绕过预期的文件权限。(CVE-2014-8989) - 在低于 3.19 版本的 Linux 内核中,net/llc/sysctl_net_llc.c 在 sysctl 表中使用不正确的数据类型,从而允许本地用户通过访问 sysctl 条目,从内核内存中获取敏感信息,或可能造成其他不明影响。(CVE-2015-2041) - 在低于 3.19 版本的 Linux 内核中,net/rds/sysctl.c 在 sysctl 表中使用不正确的数据类型,从而允许本地用户通过访问 sysctl 条目,从内核内存中获取敏感信息,或可能造成其他不明影响。(CVE-2015-2042) - 在内核中发现一个空指针取消引用缺陷,此缺陷是因为撤销用户类型密钥和从中读取之间存在争用情形所导致。具有本地帐户的非特权用户可触发此问题,进而导致内核崩溃(拒绝服务)。(CVE-2015-7550) - 在版本 4.6.1 之前的 Linux 内核中,arch/x86/kvm/mtrr.c 的 msr_mtrr_valid 函数支持 MSR 0x2f8,允许客户机 OS 用户向 kvm_arch_vcpu 数据结构读取或写入,从而通过构造的 ioctl 调用获取敏感信息或造成拒绝服务(系统崩溃)。(CVE-2016-3713) - 在本地攻击者具有 CAP_NET_ADMIN 能力的情况下,Linux 网络子系统中发现缺陷,可通过创建小于预期的 ICMP 标头并通过 sendto() 发送至其目标,从而造成越界内存访问问题。(CVE-2016-8399) - 在 Linux 内核网络子系统中的原始数据包套接字实现处理同步的方式中发现争用条件问题。能够打开原始数据包套接字的本地用户(需具备 CAP_NET_RAW 能力)可利用此缺陷消耗内核环形缓冲区的资源,或可能造成导致系统崩溃的堆越界读取。(CVE-2017-1000111) - 在 Linux 内核中发现可利用的内存损坏缺陷。当使用 MSG_MORE 选项构建 UFO 数据包时,可以在 ip_ufo_append_data() 中错误地将 append 路径从 UFO 切换到非 UFO。如果非特权用户命名空间可用,可利用此缺陷获得根权限。(CVE-2017-1000112) - 在 Linux 内核网络子系统的 Netlink 功能中发现释放后使用缺陷。由于 mq_notify 函数中清除不充分,本地攻击者可利用此缺陷提升其在系统上的权限。(CVE-2017-11176) - 在 Linux 内核的函数 __tcp_select_window 中发现除零错误漏洞。可导致内核恐慌,造成本地拒绝服务。(CVE-2017-14106) - 据发现,在 Linux 内核 4.10.1 及之前版本中,net/sctp/socket.c 内的代码在某些等待状态期间未正确限制关联剥离操作,允许本地用户通过多线程应用程序造成拒绝服务(无效的解除锁定和双重释放)。此漏洞是由 CVE-2017-5986 修复所引起(认可 2dcab5984841)。(CVE-2017-6353) - 在内核的数据包转换 IP 框架 xfrm 中发现越界内核堆访问漏洞。与非特权用户的 netlink 消息相关的处理错误导致任意读写和权限升级。(CVE-2017-7184) - 版本 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) - 版本 4.7-rc1 至 4.13 的 Lunix 内核中,发现函数 inet_diag_msg_sctp{,l}addr_fill() 和 sctp_get_sctp_info() 存在由越界读取导致的内核数据泄露。当这些函数填入用于导出套接字诊断信息的 sockaddr 数据结构时,会发生数据泄露。因此,多达 100 字节的 slab 数据可能会泄露到用户空间。(CVE-2017-7558) 请注意,Nessus 并未针对此问题进行测试,而仅依赖应用程序自我报告的版本号。

解决方案

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

另见

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

插件详情

严重性: High

ID: 127146

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

版本: 1.6

类型: local

发布时间: 2019/8/12

最近更新时间: 2022/5/19

风险信息

VPR

风险因素: Critical

分数: 9.6

CVSS v2

风险因素: Critical

基本分数: 10

时间分数: 8.7

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

时间矢量: E:H/RL:OF/RC:C

CVSS 分数来源: CVE-2014-2523

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

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

CVSS 分数来源: CVE-2017-7541

漏洞信息

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

可利用: true

易利用性: Exploits are available

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

漏洞发布日期: 2013/7/29

可利用的方式

Core Impact

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

参考资料信息

CVE: CVE-2013-2888, CVE-2013-2889, CVE-2013-2892, CVE-2013-2930, CVE-2013-4127, CVE-2013-4162, CVE-2013-4163, CVE-2013-4343, CVE-2013-4348, CVE-2013-4350, CVE-2013-4387, CVE-2013-4563, CVE-2013-4579, CVE-2013-4587, CVE-2013-6367, CVE-2013-6368, CVE-2013-6376, CVE-2013-6378, CVE-2013-6380, CVE-2013-6382, CVE-2013-7026, CVE-2013-7266, CVE-2013-7267, CVE-2013-7268, CVE-2013-7269, CVE-2013-7270, CVE-2013-7271, CVE-2014-0049, CVE-2014-0055, CVE-2014-0069, CVE-2014-0077, CVE-2014-0100, CVE-2014-0101, CVE-2014-0102, CVE-2014-0131, CVE-2014-0155, CVE-2014-1438, CVE-2014-1690, CVE-2014-2309, CVE-2014-2523, CVE-2014-3122, CVE-2014-3601, CVE-2014-3610, CVE-2014-4014, CVE-2014-6416, CVE-2014-8480, CVE-2014-8989, CVE-2015-2041, CVE-2015-2042, CVE-2015-7550, CVE-2016-3713, CVE-2016-8399, CVE-2017-6353, CVE-2017-7184, CVE-2017-7541, CVE-2017-7542, CVE-2017-7558, CVE-2017-11176, CVE-2017-14106, CVE-2017-1000111, CVE-2017-1000112