Oracle Linux 6:内核 (ELSA-2011-0007)

high Nessus 插件 ID 68177

简介

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

描述

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

- 在 2.6.35 之前的 Linux 内核中,eCryptfs 子系统中 fs/ecryptfs/messaging.c 的 ecryptfs_uid_hash 宏存在缓冲区溢出,本地用户可利用此缺陷通过不明矢量来获取权限或造成拒绝服务(系统崩溃)。(CVE-2010-2492)

- 在 Linux 内核 2.6.27.53 之前的版本、2.6.32.21 之前的 2.6.32.x 版本、2.6.34.6 之前的 2.6.34.x 版本以及 2.6.35.4 之前的 2.6.35.x 版本中,直接渲染管理器 (DRM) 子系统中 drivers/gpu/drm/drm_drv.c 中的 drm_ioctl 函数允许本地用户通过请求大量内存分配从内核内存中获取潜在的敏感信息。(CVE-2010-2803)

- 在 2.6.36-rc3-next-20100831 之前的 Linux 内核中,net/wireless/wext-compat.c 中的 cfg80211_wext_giwessid 函数未正确初始化某些结构成员,这允许本地用户利用 net/wireless/wext-core.c 的 ioctl_standard_iw_point 函数中的差一错误,并且通过涉及指定大型缓冲区空间的 SIOCGIWESSID ioctl 调用可能从内核堆内存中获取敏感信息。(CVE-2010-2955)

- 在 2.6.36 之前的 Linux 内核的 Direct Rendering Manager (DRM) 子系统中,Intel i915 驱动程序的 Graphics Execution Manager (GEM) 中的 drivers/gpu/drm/i915/i915_gem.c 未正确验证内存区块的指针,这允许本地用户写入任意内核内存位置,从而通过构建的 ioctl 接口使用获取与 (1) pwrite 及 (2) pread 操作相关的权限。(CVE-2010-2962)

- 在 2.6.36-rc4-next-20100915 之前的 Linux 内核中,fs/aio.c 中的 do_io_submit 函数发生整数溢出,允许本地用户通过构建的 io_submit 系统调用的使用来造成拒绝服务或者可能造成其他不明影响。(CVE-2010-3067)

- 在 2.6.36-rc4 之前的 Linux 内核中的 fs/xfs/linux-2.6/xfs_ioctl.c 内,xfs_ioc_fsgetxattr 函数未初始化特定的结构成员,因此本地用户可通过 ioctl 调用从内核堆栈内存中获取潜在的敏感信息。(CVE-2010-3078)

- 在 2.6.35.5 之前的 Linux 内核中,kernel/trace/ftrace.c 在 debugfs 启用时未正确处理 mutex 拥有与 llseek 操作之间的交互,这允许本地用户通过与 set_ftrace_filter 文件相关的文件描述符上的 lseek 调用造成拒绝服务(空指针取消引用和所有函数跟踪文件中断)。(CVE-2010-3079)

- 在 2.6.36-rc4 之前的 Linux 内核中,sound/core/seq/oss/seq_oss_init.c 中的 snd_seq_oss_open 函数存在双重释放漏洞,本地用户可利用此漏洞通过不成功的 /dev/sequencer 设备打开尝试来造成拒绝服务,或可能造成其他不明影响。(CVE-2010-3080)

- 64 位平台上 2.6.36-rc4-git2 之前的 Linux 内核中,include/asm/compat.h 文件中的 compat_alloc_user_space 函数无法正确配置 32 位兼容层所需的用户空间内存,其允许本地用户利用 compat_mc_getsockopt 函数(即 MCAST_MSFILTER getsockopt 支持)获得权限来控制特定长度的值,其与一个堆栈指针下溢问题有关,2010 年 9 月已在通常环境中被利用。
(CVE-2010-3081)

- 在 2.6.36-rc4 之前的 Linux 内核中,drivers/net/niu.c 中的 niu_get_ethtool_tcam_all 函数存在缓冲区溢出,这允许本地用户通过 ETHTOOL_GRXCLSRLALL ethtool 命令造成拒绝服务或者可能造成其他不明影响。(CVE-2010-3084)

- 在 2.6.36-rc5 之前的 Linux 内核的 drivers/net/usb/hso.c 中,hso_get_count 函数未正确初始化某个结构成员,因此本地用户可通过 TIOCGICOUNT ioctl 调用从内核堆栈内存中获取潜在的敏感信息。(CVE-2010-3298)

- 在 x86_64 平台上 2.6.36-rc4-git2 之前的 Linux 内核的 arch/x86/ia32/ia32entry.S 中具有 IA32 系统调用模拟功能,在使用指向 ptrace 的 32 位条目路径之后不会零扩展 %eax 寄存器,本地用户可因此触发越界访问使用 %rax 寄存器的系统调用表,进而获取权限。注意:存在此漏洞的原因是 CVE-2007-4573 回归 (CVE-2010-3301)。

- 在 2.6.35.6 之前的 Linux 内核中,net/sctp/output.c 中的 sctp_packet_config 函数执行数据包数据结构的无关初始化,这允许远程攻击者通过特定 SCTP 流量序列造成拒绝服务(错误)。(CVE-2010-3432)

- 在 before 2.6.36-rc6 之前的 Linux 内核中,drivers/block/pktcdvd.c 内的 pkt_find_dev_from_minor 函数中的整数符号错误允许本地用户通过 PKT_CTRL_CMD_STATUS ioctl 调用中构造的索引值从内核内存中获取敏感信息,或造成拒绝服务(无效指针取消引用和系统崩溃)。(CVE-2010-3437)

- 在 2.6.36-rc5-next-20100929 之前的 Linux 内核中,sound/core/control.c 内的 snd_ctl_new 函数中的多个整数溢出允许本地用户通过构建的 (1) SNDRV_CTL_IOCTL_ELEM_ADD 或 (2) SNDRV_CTL_IOCTL_ELEM_REPLACE ioctl 调用造成拒绝服务(堆内存损坏),还可能产生其他不明影响。(CVE-2010-3442)

- 在 2.6.36-rc4 之前的 Linux 内核中,网络排队功能的 actions 实现中 net/sched/act_police.c 的 tcf_act_police_dump 函数未正确初始化某些结构成员,这样允许本地用户通过涉及转储操作的矢量从内核内存中获取潜在敏感信息。注意:存在此漏洞的原因是未完整修复 CVE-2010-2942。(CVE-2010-3477)

- 在 2.6.36 之前的 Linux 内核中的 KVM 实现未正确重新加载 FS 和 GS 段寄存器,这允许主机 OS 用户通过 KVM_RUN ioctl 调用结合修改的本地描述符表 (LDT) 造成拒绝服务(主机 OS 崩溃)。(CVE-2010-3698)

- 在 2.6.36 之前的 Linux 内核中,net/sctp/auth.c 中的 sctp_auth_asoc_get_hmac 函数未正确验证 SCTP 对等机的 hmac_ids 数组,这允许远程攻击者通过此数组最后一个元素中构建的值造成拒绝服务(内存损坏和错误)。
(CVE-2010-3705)

- 在 2.6.36 之前的 Linux 内核 net/core/ethtool.c 中的 ethtool_get_rxnfc 函数未初始化某个堆内存块,这允许本地用户通过采用较大 info.rule_cnt 值的 ETHTOOL_GRXCLSRLALL ethtool 命令获取潜在敏感信息,该漏洞不同于 CVE-2010-2478。(CVE-2010-3861)

- Linux 内核的 net/rds/rdma.c 内的 rds_rdma_pages 函数发生整数溢出,允许本地用户通过在可靠数据报套接字 (RDS) 请求中构建的 iovec 结构造成拒绝服务(崩溃)并可能执行任意代码,触发缓冲区溢出。 (CVE-2010-3865)

- 在 64 位平台上 2.6.36.2 之前的 Linux 内核的控制器局域网 (CAN) 实现中,net/can/bcm.c(亦称广播管理器)的 bcm_connect 函数中存在基于堆的缓冲区溢出,可能允许本地用户通过连接操作造成拒绝服务(内存损坏)。
(CVE-2010-3874)

- 在 2.6.37-rc2 之前的 Linux 内核中的 net/packet/af_packet.c 未正确初始化某些结构成员,因此本地用户可通过利用 CAP_NET_RAW 功能读取适用结构的副本从内核堆栈内存中获取潜在的敏感信息。
(CVE-2010-3876)

- 在 2.6.37-rc2 之前的 Linux 内核中的 net/ipv4/inet_diag.c 未正确审计 INET_DIAG 字节码,这允许本地用户通过在包含多个属性元素的 netlink 消息中构建 INET_DIAG_REQ_BYTECODE 指令来造成拒绝服务(内核无限循环),这一点已被 INET_DIAG_BC_JMP 指令所证实。(CVE-2010-3880)

- 在 2.6.36 之前的 Linux 内核的可靠数据报套接字 (RDS) 协议实现中,net/rds/page.c 中的 rds_page_copy_user 函数未正确验证从用户空间获取的地址,这允许本地用户通过巧妙使用 sendmsg 和 recvmsg 系统调用来获取权限。 (CVE-2010-3904)

- 在 2.6.37-rc1 之前的 Linux 内核中 ipc/shm.c 内的 copy_shmid_to_user 函数未初始化某个结构,因此本地用户可通过与 shmctl 系统调用相关的矢量和“旧 shm 接口”从内核堆栈内存获取潜在的敏感信息。(CVE-2010-4072)

- 在 2.6.37-rc1 之前的 Linux 内核中的 ipc 子系统未初始化某些结构,因此本地用户可以通过与 ipc/compat.c 中的 (1) compat_sys_semctl、(2) compat_sys_msgctl 和 (3) compat_sys_shmctl 函数相关的矢量以及 (4) compat_sys_mq_open 和 (5) compat_sys_mq_getsetattr 函数,从内核堆栈内存中获取潜在的敏感信息。(CVE-2010-4073)

- 在 2.6.36-rc5 之前的 Linux 内核中,USB 子系统未正确初始化某个结构成员,因此本地用户可通过与 TIOCGICOUNT ioctl 调用相关的向量以及 (1) drivers/usb/serial/mos7720.c 中的 mos7720_ioctl 函数和 (2) drivers/usb/serial/mos7840.c 中的 mos7840_ioctl 函数从内核堆栈内存中获取潜在的敏感信息。
(CVE-2010-4074)

- 在 2.6.37-rc1 之前的 Linux 内核中,drivers/serial/serial_core.c 中的 uart_get_count 函数未正确初始化某个结构成员,因此本地用户可通过 TIOCGICOUNT ioctl 调用从内核堆栈内存中获取潜在的敏感信息。(CVE-2010-4075)

- 在 2.6.36.1 及之前的 Linux 内核的 drivers/char/nozomi.c 中的 ntty_ioctl_tiocgicount 函数未正确初始化某个结构成员,因此本地用户可通过 TIOCGICOUNT ioctl 调用从内核堆栈内存中获取潜在的敏感信息。(CVE-2010-4077)

- 在 2.6.36-rc8 之前的 Linux 内核中的 drivers/media/video/ivtv/ivtvfb.c 内,ivtvfb_ioctl 函数未正确初始化特定的结构成员,因此本地用户可通过 FBIOGET_VBLANK ioctl 调用从内核堆栈内存中获取潜在的敏感信息。(CVE-2010-4079)

- 在 2.6.36-rc6 之前的 Linux 内核中的 sound/pci/rme9652/hdsp.c 内,snd_hdsp_hwdep_ioctl 函数未初始化某个结构,因此本地用户可通过 SNDRV_HDSP_IOCTL_GET_CONFIG_INFO ioctl 调用从内核堆栈内存中获取潜在的敏感信息。(CVE-2010-4080)

- 在 2.6.36-rc6 之前的 Linux 内核中的 sound/pci/rme9652/hdspm.c 内,snd_hdspm_hwdep_ioctl 函数未初始化某个结构,因此本地用户可通过 SNDRV_HDSPM_IOCTL_GET_CONFIG_INFO ioctl 调用从内核堆栈内存中获取潜在的敏感信息。(CVE-2010-4081)

- 在 2.6.36-rc5 之前的 Linux 内核中的 drivers/video/via/ioctl.c 内,viafb_ioctl_get_viafb_info 函数未正确初始化特定的结构成员,因此本地用户可通过 VIAFB_GET_INFO ioctl 调用从内核堆栈内存中获取潜在的敏感信息。(CVE-2010-4082)

- 在 2.6.36 之前的 Linux 内核中的 ipc/sem.c 内,copy_semid_to_user 函数未初始化某个结构,因此本地用户可通过 semctl 系统调用中的 (1) IPC_INFO、(2) SEM_INFO、(3) IPC_STAT 或 (4) SEM_STAT 命令从内核堆栈内存中获取潜在的敏感信息。
(CVE-2010-4083)

- 在 2.6.36.2 之前的 Linux 内核中的 net/core/filter.c 内,sk_run_filter 函数在执行 (1) BPF_S_LD_MEM 或 (2) BPF_S_LDX_MEM 指令之前未检查是否已初始化特定内存位置,因此本地用户可通过构建的套接字过滤器从内核堆栈内存中获取潜在的敏感信息。(CVE-2010-4158)

- 在 2.6.36.2 之前的 Linux 内核中的 PPPoL2TP 和 IPoL2TP 实现内,(1) net/l2tp/l2tp_ppp.c 中的 pppol2tp_sendmsg 函数和 (2) net/l2tp/l2tp_ip.c 中的 l2tp_ip_sendmsg 函数内的多个整数溢出使本地用户可造成拒绝服务(堆内存损坏和错误),还可能通过构建的 sendto 调用获取权限。(CVE-2010-4160)

- 在 2.6.36.2 之前的 Linux 内核的 fs/bio.c 中的多个整数溢出允许本地用户通过构建的设备 ioctl 至 SCSI 设备造成拒绝服务(系统崩溃)。(CVE-2010-4162)

- 在 2.6.36.2 之前的 Linux 内核 block/blk-map.c 中的 blk_rq_map_user_iov 函数允许本地用户通过设备 ioctl 至 SCSI 设备中的零长度 I/O 请求来造成拒绝服务(错误)。
(CVE-2010-4163)

- 2.6.36 及其他可能版本的 Linux 内核中 HCI UART 驱动程序 (drivers/bluetooth/hci_ldisc.c) 内的 hci_uart_tty_open 函数不验证 tty 是否有写入操作,因此本地用户可通过与 Bluetooth 驱动程序有关的向量造成拒绝服务(空指针取消引用)。(CVE-2010-4242)

- 在 2.6.37-rc2 之前的 Linux 内核的 kernel/exit.c 中,__exit_signal 函数的争用条件允许本地用户通过与多线程 exec 相关的矢量、在 kernel/posix-cpu-timers.c 中使用线程组前导符以及在 fs/exec.c 的 de_thread 函数中选择新的线程组前导符来造成拒绝服务。(CVE-2010-4248)

- 2.6.37-rc3-next-20101125 之前版本的 Linux 内核的 net/unix/garbage.c 中的 wait_for_unix_gc 函数没有正确选择飞行套接字的垃圾收集时间,因此本地用户可通过使用 SOCK_SEQPACKET 套接字的构建的 socketpair 和 sendmsg 系统调用造成拒绝服务(系统挂起)。(CVE-2010-4249)

- 在 2.6.34 之前的 Linux 内核中,Intel Gigabit 以太网(亦称 igb)子系统中 drivers/net/igb/igb_main.c 中的 igb_receive_skb 函数,启用了单一根 I/O 虚拟化 (SR-IOV) 和混杂模式但未注册任何 VLAN,这允许远程攻击者通过 VLAN 标记帧造成拒绝服务(空指针取消引用和错误),并可能产生其他不明影响。
(CVE-2010-4263)

- 2.6.33 及 2.6.34.y 版本的 Linux 内核未初始化 kvm_vcpu_events->interrupt.pad 结构成员,这允许本地用户通过不明矢量从内核堆栈内存获取潜在的敏感信息。(CVE-2010-4525)

- 在 2.6.37-rc7 之前的 Linux 内核 block/blk-map.c 中的 blk_rq_map_user_iov 函数允许本地用户通过与未对齐的映射相关的设备 ioctl 至 SCSI 设备中的零长度 I/O 请求来造成拒绝服务(错误)。注意:存在此漏洞的原因是未完整修复 CVE-2010-4163。(CVE-2010-4668)

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

解决方案

更新受影响的程序包。

另见

https://linux.oracle.com/errata/ELSA-2011-0007.html

插件详情

严重性: High

ID: 68177

文件名: oraclelinux_ELSA-2011-0007.nasl

版本: 1.19

类型: local

代理: unix

发布时间: 2013/7/12

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

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

风险信息

VPR

风险因素: Medium

分数: 6.7

CVSS v2

风险因素: High

基本分数: 7.2

时间分数: 6.3

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

CVSS 分数来源: CVE-2010-3705

漏洞信息

CPE: cpe:/o:oracle:linux:6, p-cpe:/a:oracle:linux:kernel, 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-firmware, p-cpe:/a:oracle:linux:kernel-headers, p-cpe:/a:oracle:linux:perf

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

可利用: true

易利用性: Exploits are available

补丁发布日期: 2011/2/12

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

可利用的方式

CANVAS (CANVAS)

Core Impact

参考资料信息

CVE: CVE-2010-2492, CVE-2010-3067, CVE-2010-3078, CVE-2010-3080, CVE-2010-3298, CVE-2010-3477, CVE-2010-3861, CVE-2010-3865, CVE-2010-3874, CVE-2010-3876, CVE-2010-3880, CVE-2010-4072, CVE-2010-4073, CVE-2010-4074, CVE-2010-4075, CVE-2010-4077, CVE-2010-4079, CVE-2010-4080, CVE-2010-4081, CVE-2010-4082, CVE-2010-4083, CVE-2010-4158, CVE-2010-4160, CVE-2010-4162, CVE-2010-4163, CVE-2010-4242, CVE-2010-4248, CVE-2010-4249, CVE-2010-4263, CVE-2010-4525, CVE-2010-4668

BID: 45063, 45073, 45074, 45208, 45660, 45676, 42237, 42529, 43022, 43062, 43226, 43353, 43806, 43809, 43817, 44427, 44549, 44630, 44661, 44665, 44758, 44762, 44793, 45014, 45028, 45037, 45054, 45058, 45059, 45062

RHSA: 2011:0007