BLSA-2016:0057 - [重要] kernel 安全警告及修复方法



  • BLSA-2016:0057 - [重要] kernel 安全警告及修复方法


    问题描述

    最近 kernel 修复了一些漏洞,这些漏洞可以让攻击者发起释放后使用攻击,或在满足条件的系统上越界访问,建议所有 BCLinux 用户都安装 BCLinux 提供的升级包,升级包包含了修复这些漏洞的补丁文件。

    影响版本

    • BigCloud Enterprise Linux 7
    • Red Hat Enterprise Linux 7
    • CentOS Linux 7

    详细介绍

    安全更新

    1. CVE-2016-4470

      Linux 内核 keyring 处理代码 key_reject_and_link() 中发现了一个缺陷,不当的释放变量最终会导致指针指向任意地址,使攻击者有机会利用 use-after-free 类型的攻击。

    1. CVE-2015-8660

      Linux Kernel 4.3.3以来,fs/overlayfs/inode.c 中的 ovl_setattr 函数尝试合并明显不同的 setattr 操作,通过精心设计的应用,本地用户可以绕过预先设定好的访问限制,修改任意 overlay 文件的属性。

    2. CVE-2016-2143

      在 IBM s390x 类型的机器上,四级页表的进程复制会导致一系列症状的内存崩溃,所有的子进程以三级页表的形式创建,内存空间限制为 4TB,如果父进程拥有内存空间限制为 8PB 的四级页表,复制地址空间的函数会尝试为子进程拷贝内存区域到超出地址空间限制的区域。

    漏洞更新

    1. BZ#1331285

      glibc 头文件和 Linux 头文件共享某些需要定义在内核和用户空间的关键结构体的定义。某些情况下,用户空间和经处理的内核头文件都需要包含进来以得到用户程序需要的结构体定义。但是 glibc 和 Linux 头文件不一致会导致编译错误。glibc 头文件因此被修复为一致的基于 Linux UAPI 的头文件,一致的头文件保证了编译错误不再发生。

    2. BZ#1337431

      当在 big-endian 架构的 mlx4_en 网口上运行 TCP/IPv6 协议时,会导致 "hw csum failure" 内核 calltrace 发生。本更新通过修改 big-endian 架构的校验算法修复了此 mlx4_len 驱动问题。

    3. BZ#1337513

      负载较高时,一些诸如 logshifter 的应用会突然打印大量日志信息导致日志系统无法处理。由于竞争条件,即使之后日志卷降低到可用级别,该应用的日志信息依然会丢失,。该更新修复了用于通知发送端日志系统所使用的socket中止,接收端更多空间已经可用的内核机制,删除导致发送端停止发送新消息的竞态条件并允许正确处理更多日志信息。

    4. BZ#1338886

      频繁的开关加速功能单元(AFU)会发中断,但是AFU上下文看不到任何中断,会导致内核崩溃发生。这些补丁修复了内核中断请求的处理,在这种场景下内核panic不再发生。

    5. BZ#1339115

      net: 缓冲区过小会导致recvfrom失败。

    6. BZ#1343639

      从开源社区反向移植rhashtable。

    7. BZ#1344234

      启动Glusterd并创建卷导致服务器崩溃。

    8. BZ#1344313

      RAID5 reshape 死锁修复。

    9. BZ#1347374

      BDX perf Uncore 支持的修复。

    解决方案

    目前,BCLinux 的官方源已经提供 kernel 更新软件包。

    BCLinux 7 用户需要更新到3.10.0-327.28.2版本。

    1.检查YUM源设置,确保使用的是 BCLinux 官方 YUM 源

    	[root@BCLinux ~]# ll /etc/yum.repos.d/
    	total 24  
    	-rw-r--r-- 1 root root 1038 Mar 10 04:46 BCLinux-Base.repo  
    	-rw-r--r-- 1 root root 1053 Oct 19 21:18 BCLinux-Source.repo  
    	-rw-r--r-- 1 root root 1184 Oct 19 21:18 BigCloud.repo
    

    2.安装更新

    	[root@BCLinux ~]# yum update kernel
    	Loaded plugins: fastestmirror
    	Loading mirror speeds from cached hostfile
    	Resolving Dependencies
    	--> Running transaction check
    	---> Package kernel.x86_64 0:3.10.0-327.28.2.el7 will be updated
    	--> Finished Dependency Resolution
    
    	Dependencies Resolved
    
    	===============================================================================================================================================================================================
    	Package                                      Arch                                    Version                                                   Repository                                Size
    	===============================================================================================================================================================================================
    	Updating:
    	kernel                                       x86_64                                  3.10.0-327.28.2.el7                                       updates                                   793 k
    
    	Transaction Summary
    	===============================================================================================================================================================================================
    	Upgrade  1 Package
    
    	Total download size: 793 k
    	Installed size: 2.3 M
    

    3.复查

    	[root@BCLinux ~]# rpm -qa | grep kernel
    	kernel-3.10.0-327.28.2.el7.x86_64.rpm
    

    4.重启

    安装升级包以后,重启机器,更新生效。

    外部链接

    1.BCLinux安全更新