Mandriva Linux 安全公告:kernel (MDVSA-2015:058)

high Nessus 插件 ID 81941

简介

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

描述

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

低于 3.18.5 的 Linux 内核中的 Crypto API 允许本地用户通过对在 salg_name 字段中具有模块名称的 AF_ALG 套接字进行 bind 系统调用来加载任意内核模块,这是与 CVE-2014-9644 不同的漏洞 (CVE-2013-7421)。

在 Intel 处理器中,3.17.2 版以前的 Linux 内核中 KVM 子系统内的 arch/x86/kvm/vmx.c 无法确保 CR4 控制寄存器中的值在 VM 进入后保持不变,从而允许主机操作系统用户利用 /dev/kvm 访问终止任意进程或造成拒绝服务(系统中断),这一点已由修改后的 QEMU 副本中的 PR_SET_TSC prctl 调用证实 (CVE-2014-3690)。

3.18.1 及更早版本的 Linux 内核的线程本地存储 (TLS) 实现中的 arch/x86/kernel/tls.c 允许本地用户绕过 espfix 保护机制,因此可使本地用户通过发起 set_thread_area 系统调用并稍后读取 16 位值的应用程序更容易地绕过 ASLR 保护机制 (CVE-2014-8133)。

低于 3.18 的 Linux 内核中的 net/netfilter/nf_conntrack_proto_generic.c 在处理 SCTP、DCCP、GRE 和 UDP-Lite 协议的特定 iptables 规则集期间生成了错误的连接跟踪条目,从而允许远程攻击者通过带有禁止端口号的数据包绕过预期的访问限制 (CVE-2014-8160)。

3.17.4 及更早版本的 Linux 内核在某些命名空间场景中未正确限制附属组成员资格的终止,这允许本地用户通过利用包含群组类别的条目(比其他类别的对应条目更严格)的 POSIX ACL 来绕过预期的文件权限,又称无效群组问题,此问题与 kernel/groups.c、kernel/uid16.c 和 kernel/user_namespace.c 有关 (CVE-2014-8989)。

3.18.1 及更早版本的 Linux 内核的 arch/x86/kernel/process_64.c 中的 __switch_to 函数无法确保在继续进行其他步骤之前加载线程本地存储 (TLS) 描述符,这可使本地用户通过构建的读取 TLS 基址的应用程序更容易地绕过 ASLR 保护机制 (CVE-2014-9419)。

3.18.1 及更早版本的 Linux 内核的 fs/isofs/rock.c 中的 rock_continue 函数不会限制 Rock Ridge 连续条目的数量,这允许本地用户通过构建的 iso9660 镜像造成拒绝服务(无限循环以及系统崩溃或挂起)(CVE-2014-9420)。

在 3.18.1 及更早版本的 Linux 内核中的 B.A.T.M.A.N. 实现中,net/batman-adv/fragmentation.c 中的 batadv_frag_merge_packets 函数在计算内存量期间使用错误的长度字段,这允许远程攻击者通过拆分的数据包造成拒绝服务(mesh-node 系统崩溃)(CVE-2014-9428)。

3.18.2 及更早版本的 Linux 内核中 security/keys/gc.c 的 key_gc_unused_keys 函数中存在争用条件,允许本地用户通过在密钥的垃圾回收期间触发对密钥结构成员访问的 keyctl 命令造成拒绝服务(内存损坏或错误),或造成其他不明影响 (CVE-2014-9529)。

低于 3.18.2 的 Linux 内核中 fs/isofs/rock.c 的 parse_rock_ridge_inode_internal 函数未验证扩展引用 (ER) 系统使用字段中的长度值,这允许本地用户通过构建的 iso9660 镜像从内核内存获取敏感信息 (CVE-2014-9584)。

3.18.2 及更早版本的 Linux 内核的 arch/x86/vdso/vma.c 中的 vdso_addr 函数没有为 vDSO 区域正确选择内存位置,从而使本地用户更容易通过猜测 PMD 末尾的位置绕过 ASLR 保护机制 (CVE-2014-9585)。

低于 3.18.5 的 Linux 内核中的 Crypto API 允许本地用户通过对在 salg_name 字段中具有带括号的模块模板表达式的 AF_ALG 套接字进行 bind 系统调用来加载任意内核模块,如 vfat(aes) 表达式所示,这是与 CVE-2013-7421 不同的漏洞 (CVE-2014-9644)。

在低于 3.18.2 的 Linux 内核中的 eCryptfs 子系统中,fs/ecryptfs/crypto.c 中的 ecryptfs_decode_from_filename 函数存在差一错误,这允许本地用户通过构建的文件名来造成拒绝服务(缓冲区溢出和系统崩溃)或者可能获取权限 (CVE-2014-9683)。

客户机操作系统缺少 SYSENTER MSR 初始化时,在低于 3.18.5 的 Linux 内核中,arch/x86/kvm/emulate.c 中的 em_sysenter 函数允许客户机操作系统用户通过触发用于 SYSENTER 指令仿真的 16 位代码段的使用来获取客户机操作系统权限或造成拒绝服务(客户机操作系统崩溃)(CVE-2015-0239)。

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

解决方案

更新受影响的数据包。

插件详情

严重性: High

ID: 81941

文件名: mandriva_MDVSA-2015-058.nasl

版本: 1.4

类型: local

发布时间: 2015/3/19

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

支持的传感器: Nessus

风险信息

VPR

风险因素: Medium

分数: 6.7

CVSS v2

风险因素: High

基本分数: 7.8

矢量: CVSS2#AV:N/AC:L/Au:N/C:N/I:N/A: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, cpe:/o:mandriva:business_server:2

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

补丁发布日期: 2015/3/13

参考资料信息

CVE: CVE-2013-7421, CVE-2014-3690, CVE-2014-8133, CVE-2014-8160, CVE-2014-8989, CVE-2014-9419, CVE-2014-9420, CVE-2014-9428, CVE-2014-9529, CVE-2014-9584, CVE-2014-9585, CVE-2014-9644, CVE-2014-9683, CVE-2015-0239

MDVSA: 2015:058