BLSA-2017:0070 – [重要] kernel 安全警告及修复方法



  • BLSA-2017:0070 – [重要] kernel 安全警告及修复方法

    问题描述

    最近 kernel 暴露出若干安全漏洞,攻击者可以利用这些漏洞,对系统安全产生影响。为了增加安全强度,建议所有使用受影响产品的用户都安装 BCLinux 提供的的更新补丁。

    影响版本

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

    详细介绍

    安全修复

    • CVE-2017-7477[重要]
      Linux内核分配堆内存以从在套接字缓存(skb_buff)里的片段列表(skb_shinfo(skb)-> frag_list)中构建散列聚集列表的方式找到了一个缺陷。如果“MAX_SKB_FRAGS+1”参数和“NETIF_F_FRAGLIST”功能一起使用,则会发生堆溢出的情况。一个远程用户或进程可能会利用此漏洞来潜在地升级其对系统的权限。

    • CVE-2017-7645[重要]
      NFS2/3 RPC客户端可以向NFS服务器发送长参数。这些编码参数存储在内存页数组中,并使用指针变量进行访问。任意长的参数可以使这些指针指向数组外,并导致超出边界的内存访问。远程用户或程序可能会使利用这个漏洞来使内核崩溃。

    • CVE-2017-7895[重要]
      远程攻击者可能触发指针算术错误,或者可能会使用与fs/nfsd/nfs3xdr.c和fs/nfsd/nfsxdr.c相关的请求,来导致其它未指定的影响。

    • CVE-2017-2583[中等]
      使用基于内核的虚拟机(CONFIG_KVM)支持构建的Linux内核容易受到不正确的段选择器(SS)值错误的影响。当以长模式将值加载到SS寄存器时,可能会发生错误。客户端内的用户或进程可能会利用此缺陷来使客户端崩溃,从而导致DoS或潜在得升级客户端的权限。

    • CVE-2017-6214[重要]
      在Linux内核处理带有URG标志的数据包时发现了一个漏洞。使用splice()和tcp_splice_read()功能的应用程序可能允许远程攻击者强制内核进入无限循环的状态。

    漏洞修复

    • BZ#1445184
      通过此更新,Linux内核的HugeTLB功能已被修复,并且HugePages_Rsvd下溢不再发生。

    • BZ#1450851
      如果NFS客户端上的目录在列出时被修改,则NFS客户端可以多次重新启动目录列表。因此,列出目录的性能不是最优的。通过此更新,目录列表的重新启动发生的频率较低。因此,在修改目录时列出目录的性能会有所提高。

    • BZ#1446246
      以太网光纤通道(FCoE)适配器在某些情况下无法重新启动。此更新修复了qla2xxx驱动程序,FCoE适配器现在能按预期重新启动。

    • BZ#1450855
      当具有虚拟功能I/O(VFIO)设备的虚拟机重新启动时,由于VFIO直接存储器访问(DMA)映射请求失败,QEMU进程偶尔会意外终止。此更新修复了vfio驱动程序和QEMU崩溃的情况。

    • BZ#1452044
      当使用内置lpfc驱动程序启动操作系统时,IBM Power Systems的小版本系统会发生内核崩溃。

    • BZ#1450856
      当启用具有“Hugepages”功能的虚拟功能I/O(VFIO)设备创建或销毁虚拟机时,会发生直接内存访问(DMA)页表项(PTE)映射中的错误;并且QEMU内存使用行为无法预测。当在输入/输出存储器管理单元(IOMMU)中为大页面腾出空间时,此更新修复了范围计算。因此,DMA PTE映射中的错误不再发生,并且QEMU不会出现无法预测的内存使用行为。

    解决方案

    BCLinux的官方源已经可以提供更新的kernel软件包,受影响的BCLinux 客户端用户需要升级到 3.10.0-514.26.1.el7 版本 。

    BCLINX 用户安装更新步骤如下:
    1.检查YUM源设置,确保使用的是BCLinux官方YUM源

    [root@BCLinux ~]# ls -l /etc/yum.repos.d/
    total 16
    -rw-r--r--. 1 root root 1127 Jan  7  2016 BCLinux-Base.repo
    -rw-r--r--. 1 root root  794 Jan  7  2016 BCLinux-Kernel.repo
    -rw-r--r--. 1 root root 1153 Jan  7  2016 BCLinux-Source.repo
    -rw-r--r--. 1 root root  801 Jan  7  2016 BigCloud.repo
    

    2.安装更新

    [root@BCLinux ~]# yum update kernel
    Loaded plugins: fastestmirror, langpacks
    Loading mirror speeds from cached hostfile
    Resolving Dependencies
    --> Running transaction check
    ---> Package kernel.x86_64 0:3.10.0-514.26.1.el7 will be installed
    --> Finished Dependency Resolution
    
    Dependencies Resolved
    
    =================================================================================
     Package        Arch           Version                     Repository       Size
    =================================================================================
    Installing:
     kernel         x86_64         3.10.0-514.26.1.el7         updates          37 M
    
    Transaction Summary
    =================================================================================
    Install  1 Package
    
    Total download size: 37 M
    Installed size: 148 M
    Is this ok [y/d/N]: y
    

    4.复查

    [root@BCLinux ~]# rpm -q kernel
    kernel-3.10.0-327.el7.x86_64
    kernel-3.10.0-514.21.1.el7.x86_64
    kernel-3.10.0-514.21.2.el7.x86_64
    kernel-3.10.0-514.26.1.el7.x86_64
    

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

    外部链接

    1.BCLinux安全更新