Mandriva Linux 安全公告:kernel (MDVSA-2013:176)

high Nessus 插件 ID 66975

简介

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

描述

已在 Linux 内核中发现并修正了多种漏洞:

3.8.11 之前的 Linux 内核中 include/net/scm.h 的 scm_set_cred 函数在凭据传递期间使用错误的 uid 和 gid 值,这样允许本地用户通过构建的应用程序来获得权限。(CVE-2013-1979)

3.9-rc7 之前版本的 Linux 内核的 net/netrom/af_netrom.c 中的 nr_recvmsg 函数未初始化某些数据结构,这允许本地用户通过构建的 recvmsg 或 recvfrom 系统调用从内核堆栈内存获取敏感信息。(CVE-2013-3232)

3.9-rc7 之前版本的 Linux 内核的 net/tipc/socket.c 未初始化某个数据结构和某些长度变量,这允许本地用户通过构建的 recvmsg 或 recvfrom 系统调用从内核堆栈内存获取敏感信息。
(CVE-2013-3235)

3.9-rc7 之前版本的 Linux 内核的 net/rose/af_rose.c 中的 rose_recvmsg 函数未初始化某些数据结构,这允许本地用户通过构建的 recvmsg 或 recvfrom 系统调用从内核堆栈内存获取敏感信息。(CVE-2013-3234)

3.9-rc7 之前的 Linux 内核中 net/nfc/llcp/sock.c 的 llcp_sock_recvmsg 函数不会初始化某个长度变量和某个数据结构,这样允许本地用户通过构建的 recvmsg 或 recvfrom 系统调用从内核堆栈内存获取敏感信息。(CVE-2013-3233)

3.9-rc7 之前版本的 Linux 内核的 net/llc/af_llc.c 中的 llc_ui_recvmsg 函数未初始化某些长度变量,这允许本地用户通过构建的 recvmsg 或 recvfrom 系统调用从内核堆栈内存获取敏感信息。(CVE-2013-3231)

3.9-rc7 之前版本的 Linux 内核的 net/iucv/af_iucv.c 中的 iucv_sock_recvmsg 函数未初始化某些长度变量,这允许本地用户通过构建的 recvmsg 或 recvfrom 系统调用从内核堆栈内存获取敏感信息。
(CVE-2013-3229)

3.9-rc7 之前版本的 Linux 内核的 net/irda/af_irda.c 中的 irda_recvmsg_dgram 函数未初始化某些长度变量,这允许本地用户通过构建的 recvmsg 或 recvfrom 系统调用从内核堆栈内存获取敏感信息。
(CVE-2013-3228)

3.9-rc7 之前的 Linux 内核中 net/caif/caif_socket.c 的 caif_seqpkt_recvmsg 函数不会初始化某个长度变量,这样允许本地用户通过构建的 recvmsg 或 recvfrom 系统调用从内核堆栈内存获取敏感信息。(CVE-2013-3227)

3.9-rc7 版本之前的 Linux 内核的 net/bluetooth/rfcomm/sock.c 中的 rfcomm_sock_recvmsg 函数未初始化某些长度变量,这允许本地用户通过构建的 recvmsg 或 recvfrom 系统调用从内核堆栈内存获取敏感信息。(CVE-2013-3225)

3.9-rc7 之前版本的 Linux 内核的 net/bluetooth/af_bluetooth.c 中的 bt_sock_recvmsg 函数未正确初始化某些长度变量,因此本地用户可通过构建的 recvmsg 或 recvfrom 系统调用从内核堆栈内存获取敏感信息。(CVE-2013-3224)

3.9-rc7 之前版本的 Linux 内核的 net/ax25/af_ax25.c 中的 ax25_recvmsg 函数未初始化某些数据结构,这允许本地用户通过构建的 recvmsg 或 recvfrom 系统调用从内核堆栈内存获取敏感信息。(CVE-2013-3223)

3.9-rc7 之前版本的 Linux 内核的 net/atm/common.c 中的 vcc_recvmsg 函数未初始化某些长度变量,这允许本地用户通过构建的 recvmsg 或 recvfrom 系统调用从内核堆栈内存获取敏感信息。(CVE-2013-3222)

在 Android 4.1.2 的某个 Motorola 版本和其他产品中使用的 3.8.9 之前的 Linux 内核中 drivers/video/fbmem.c 的 fb_mmap 函数中的整数溢出允许本地用户通过构建的 /dev/graphics/fb0 mmap2 系统调用来创建整个内核内存的读取-写入内存映射并由此获得权限,这一点已由 Motochopper pwn 程序证实。
(CVE-2013-2596)

当启用性能事件子系统时,3.8.9 之前的 Linux 内核的 arch/x86/kernel/cpu/perf_event_intel.c 指定错误的位掩码,这允许本地用户通过尝试设置保留位,造成拒绝服务(一般保护故障和系统崩溃)。(CVE-2013-2146)

3.8.9 之前的 Linux 内核中 kernel/events/core.c 的 perf_swevent_init 函数使用错误的整数数据类型,这样允许本地用户通过构建的 perf_event_open 系统调用来获得权限。(CVE-2013-2094)

3.8.4 和更早版本的 Linux 内核中 virt/kvm/ioapic.c 的 ioapic_read_indirect 函数不会正确处理无效的 IOAPIC_REG_SELECT 和 IOAPIC_REG_WINDOW 操作的某种组合,这样允许客户机操作系统用户通过构建的应用程序从主机操作系统内存中获取敏感信息或造成拒绝服务(主机操作系统 OOPS)。(CVE-2013-1798)

3.8.4 和更早版本的 Linux 内核中 arch/x86/kvm/x86.c 的释放后使用漏洞允许客户机操作系统用户通过可在 MSR_KVM_SYSTEM_TIME kvm_set_msr_common 操作期间触发使用 (1) 可移动或 (2) 可拆卸内存中的客户机物理地址 (GPA) 的构建的应用程序来造成拒绝服务(主机操作系统内存损坏)或者可能造成其他不明影响。(CVE-2013-1797)

3.8.4 和更早版本的 Linux 内核中 arch/x86/kvm/x86.c 的 kvm_set_msr_common 函数在 MSR_KVM_SYSTEM_TIME 操作期间不会确保必要的 time_page 对齐,这样允许客户机操作系统用户通过构建的应用程序来造成拒绝服务(缓冲区溢出和主机操作系统内存损坏)或者可能造成其他不明影响。(CVE-2013-1796)

3.8.9 之前版本的 Linux 内核的 kernel/signal.c 中的 do_tkill 函数未初始化某个数据结构,这允许本地用户通过执行 (1) tkill 或 (2) tgkill 系统调用的构建应用程序,从内核内存获取敏感信息。
(CVE-2013-2141)

3.8.6 版本之前的 Linux 内核的 drivers/net/ethernet/broadcom/tg3.c 的 tg3_read_vpd 函数中基于堆的缓冲区溢出允许物理上邻近的攻击者造成拒绝服务(系统崩溃),或者可能通过构建的固件(指定重要产品数据 (VPD) 数据结构中的长字符串)执行任意代码。(CVE-2013-1929)

3.8-rc1 之前的 Linux 内核中分发的 hypervkvpd 中 tools/hv/hv_kvp_daemon.c 的 main 函数允许本地用户通过构建的发送 Netlink 消息的应用程序来造成拒绝服务(后台程序退出)。注意:此漏洞是由于对 CVE-2012-2669 的修复不正确导致的。(CVE-2012-5532)

3.6 之前版本的 Linux 内核的 fs/udf/namei.c 中的 udf_encode_fh 函数未初始化某个结构成员,这允许本地用户通过构建的应用程序从内核堆内存获取敏感信息。(CVE-2012-6548)

3.6 之前版本的 Linux 内核的 fs/isofs/export.c 中的 isofs_export_encode_fh 函数未初始化某个结构成员,因此本地用户可通过构建的应用程序从内核堆内存获取敏感信息。(CVE-2012-6549)

3.8.4 版本之前的 Linux 内核中的 net/dcb/dcbnl.c 未初始化某些结构,这允许本地用户通过构建的应用程序从内核堆栈内存获取敏感信息。
(CVE-2013-2634)

3.8.4 版本之前的 Linux 内核的 net/core/rtnetlink.c 中的 rtnl_fill_ifinfo 函数未初始化某个结构成员,这允许本地用户通过构建的应用程序从内核堆栈内存获取敏感信息。(CVE-2013-2635)

3.8.4 版本之前的 Linux 内核中的 fs/ext3/super.c 在与 printk 输入相关的某些情况下使用错误的函数参数,这允许本地用户进行格式字符串攻击者并可能通过构建的应用程序获得权限。(CVE-2013-1848)

3.8.4 之前版本的 Linux 内核的 kernel/signal.c 中的 flush_signal_handlers 函数在 exec 操作期间保留了 sa_restorer 字段的值,使本地用户更容易通过包含 sigaction 系统调用的构建应用程序绕过 ASLR 保护机制。(CVE-2013-0914)

3.8.4 之前的 Linux 内核中 drivers/usb/class/cdc-wdm.c 中 wdm_in_callback 函数中基于堆的缓冲区溢出允许物理邻近攻击者通过构建的 cdc-wdm USB 设备来造成拒绝服务(系统崩溃)或者可能执行任意代码。(CVE-2013-1860)

3.8.3 之前的 Linux 内核中 security/keys/process_keys.c 的 install_user_keyrings 函数中的争用条件允许本地用户通过构建的可触发同步线程中的 keyring 操作的 keyctl 系统调用来造成拒绝服务(空指针取消引用和系统崩溃)。(CVE-2013-1792)

3.8.2 和更早版本的 Linux 内核中 crypto 用户配置 API 中的报告 API 将错误的 C 库用于复制字符串,从而允许本地用户通过利用 CAP_NET_ADMIN 功能从内核堆栈内存中获取敏感信息。
(CVE-2013-2546)

3.8.2 和更早版本的 Linux 内核中 crypto 用户配置 API 的报告 API 中 crypto/crypto_user.c 的 crypto_report_one 函数未初始化某些结构成员,这样允许本地用户通过利用 CAP_NET_ADMIN 功能从内核堆内存中获取敏感信息。(CVE-2013-2547)

3.8.2 和更早版本的 Linux 内核中 crypto 用户配置 API 的报告 API 中 crypto/crypto_user.c 的 crypto_report_one 函数在复制操作期间使用错误的长度值,这样允许本地用户通过利用 CAP_NET_ADMIN 功能从内核内存中获取敏感信息。(CVE-2013-2548)

3.7 之前的 Linux 内核中 drivers/vhost/vhost.c 的 translate_desc 函数不会正确处理跨区域描述符,这样允许客户机操作系统用户通过利用 KVM 客户机操作系统权限来获得主机操作系统权限。(CVE-2013-0311)

3.7.10 之前的 Linux 内核中 net/core/sock_diag.c 的 __sock_diag_rcv_msg 函数中的数组索引错误允许本地用户通过 Netlink 消息中大型系列值来获得权限。(CVE-2013-1763)

3.8 之前的 Linux 内核中 net/core/datagram.c 中的 __skb_recv_datagram 函数不会正确处理具有零长度数据的 MSG_PEEK 标记,这样允许本地用户通过构建的应用程序来造成拒绝服务(无限循环和系统挂起)。
(CVE-2013-0290)

3.7.10 版本之前的 Linux 内核的 mm/shmem.c 的 shmem_remount_fs 函数中存在释放后使用漏洞,这允许本地用户通过在不指定必要的 mpol(也称为 mempolicy)挂载选项的情况下重新挂载 tmpfs 文件系统来获得权限或造成拒绝服务(系统崩溃)。(CVE-2013-1767)

32 位 Xen paravirt_ops 平台上 3.7.9 之前的 Linux 内核的 arch/x86/xen/xen-asm_32.S 中的 xen_iret 函数不会正确处理 DS 段寄存器中的无效值,这样允许客户机操作系统用户通过构建的应用程序来获得主机操作系统权限。
(CVE-2013-0228)

3.7.8 之前的 Linux 内核中 Xen netback 功能中 drivers/net/xen-netback/netback.c 的内存泄漏允许客户机操作系统用户通过触发某些错误条件来造成拒绝服务(内存消耗)。(CVE-2013-0217)

3.7.8 之前的 Linux 内核中 Xen netback 功能允许客户机操作系统用户通过触发环形指针来造成拒绝服务(循环)。(CVE-2013-0216)

3.6 之前版本的 Linux 内核的 drivers/net/tun.c 中的 __tun_chr_ioctl 函数未初始化某个结构,因此本地用户可通过构建的应用程序从内核堆栈内存获取敏感信息。(CVE-2012-6547)

更新后的程序包提供针对这些安全问题的解决方案。

解决方案

更新受影响的数据包。

插件详情

严重性: High

ID: 66975

文件名: mandriva_MDVSA-2013-176.nasl

版本: 1.12

类型: local

发布时间: 2013/6/25

最近更新时间: 2021/1/6

风险信息

VPR

风险因素: Critical

分数: 9.7

CVSS v2

风险因素: High

基本分数: 7.2

时间分数: 5.6

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

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

漏洞信息

CPE: p-cpe:/a:mandriva:linux:cpupower, p-cpe:/a:mandriva:linux:kernel-firmware, p-cpe:/a:mandriva:linux:kernel-headers, p-cpe:/a:mandriva:linux:kernel-server, p-cpe:/a:mandriva:linux:kernel-server-devel, p-cpe:/a:mandriva:linux:kernel-source, p-cpe:/a:mandriva:linux:lib64cpupower-devel, p-cpe:/a:mandriva:linux:lib64cpupower0, p-cpe:/a:mandriva:linux:perf, cpe:/o:mandriva:business_server:1

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

可利用: true

易利用性: Exploits are available

补丁发布日期: 2013/6/24

可利用的方式

CANVAS (CANVAS)

Core Impact

参考资料信息

CVE: CVE-2012-5532, CVE-2012-6547, CVE-2012-6548, CVE-2012-6549, CVE-2013-0216, CVE-2013-0217, CVE-2013-0228, CVE-2013-0290, CVE-2013-0311, CVE-2013-0914, CVE-2013-1763, CVE-2013-1767, CVE-2013-1792, CVE-2013-1796, CVE-2013-1797, CVE-2013-1798, CVE-2013-1848, CVE-2013-1860, CVE-2013-1929, CVE-2013-1979, CVE-2013-2094, CVE-2013-2141, CVE-2013-2146, CVE-2013-2546, CVE-2013-2547, CVE-2013-2548, CVE-2013-2596, CVE-2013-2634, CVE-2013-2635, CVE-2013-3222, CVE-2013-3223, CVE-2013-3224, CVE-2013-3225, CVE-2013-3227, CVE-2013-3228, CVE-2013-3229, CVE-2013-3231, CVE-2013-3232, CVE-2013-3233, CVE-2013-3234, CVE-2013-3235

BID: 56710, 57743, 57744, 57940, 57964, 58053, 58137, 58177, 58368, 58382, 58426, 58510, 58597, 58600, 58604, 58605, 58607, 58908, 58993, 58994, 58996, 59264, 59377, 59380, 59381, 59383, 59385, 59388, 59389, 59390, 59393, 59394, 59396, 59397, 59538, 59846, 60254, 60324

MDVSA: 2013:176