BLSA-2017:0017 – [重要] qemu-kvm 安全警告及修复方法


  • BCLinux Developers

    BLSA-2017:0017 – [重要] qemu-kvm 安全警告及修复方法

    问题描述

    QEMU-KVM 最近暴露出一个轻微的越界读操作漏洞(CVE-2016-2857)和一个严重的内存越界访问读写漏洞(CVE-2017-2615),恶意攻击者综合利用这些漏洞能够使Qemu-kvm进程崩溃,或者造成宿主机层面的任意代码执行。建议所有用户都安装BCLinux提供的的升级包以修复这些漏洞,升级包包含了修复这些漏洞的补丁文件。

    KVM简介
    KVM是集成到Linux内核的Hypervisor,是X86架构且硬件支持虚拟化技术(Intel VT或AMD-V)的Linux的全虚拟化解决方案。它是Linux的一个很小的模块,利用Linux做大量的事,如任务调度、内存管理与硬件设备交互等。从存在形式看, KVM是两个内核模块kvm.ko和kvm_intel.ko(对AMD处理器来说,就是kvm_amd.ko),这两个模块用来实现CPU的虚拟化。
    QEMU简介
    QEMU是一套由Fabrice Bellard所编写的模拟处理器的自由软件。它与Bochs,PearPC近似,但其具有某些后两者所不具备的特性,如高速度及跨平台的特性,qemu可以虚拟出不同架构的虚拟机,如在x86平台上可以虚拟出power机器。kqemu为qemu的加速器,经由kqemu这个开源的加速器,QEMU能模拟至接近真实电脑的速度。
    QEMU-KVM简介
    kvm是linux的一个模块,管理和创建完整的虚拟机需要相应的一些管理工具,由于kvm是在qemu的基础上开发的,KVM使用了 QEMU的基于x86的部分,并稍加改造,形成可控制KVM内核模块的用户空间工具QEMU-KVM。

    影响版本

    • BigCloud Enterprise Linux 6
    • Red Hat Enterprise Linux 6
    • CentOS Linux 6

    详细介绍

    安全修复

    • CVE-2016-2857 [轻微]
      在使用IP校验和的QEMU仿真器中暴露出一个越界读取漏洞。由于QEMU函数使用数据包的有效载荷长度时并不检查数据缓冲区大小,导致在计算TCP/UDP数据包的校验和时候可能会暴露出这个漏洞。QEMU客户机中的用户利用这个漏洞,可以导致QEMU进程的崩溃(导致拒绝服务)。

    • CVE-2017-2615 [重要]
      QEMU的VGA设备Cirrus CLGD 54xx VGA中存在一个内存越界访问读写漏洞,恶意攻击者利用这个漏洞可以导致QEMU进程的崩溃,或者造成宿主机层面的任意代码执行。

    漏洞修复

    • BZ#1408389
      由于virtqueue没有正确地清理,虚拟机客户端短时间内如果重启次数超过128次就可能会导致客户机的的关闭而不是重启。此次更新,确保更可靠地情理virtque,从而防止上述问题的发生。

    解决方案

    目前,BCLinux的官方源已经提供qemu-kvm的更新软件包。
    受影响的BCLinux 6客户端用户需要升级到0.12.1.2-2.491.el6.6版本。

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

    [root@BCLinux ~]#  ls -l /etc/yum.repos.d/
    total 12
    -rw-r--r--. 1 root root  969 Nov 16  2015 BCLinux-Base.repo
    -rw-r--r--. 1 root root 1053 Nov 16  2015 BCLinux-Source.repo
    -rw-r--r--. 1 root root 1184 Nov 16  2015 BigCloud.repo
    

    2.安装更新

    [root@BCLinux ~]# yum update  qemu-kvm-0.12.1.2-2.491.el6.6
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
    Setting up Update Process
    Resolving Dependencies
    --> Running transaction check
    ---> Package qemu-kvm.x86_64 2:0.12.1.2-2.415.el6 will be updated
    ---> Package qemu-kvm.x86_64 2:0.12.1.2-2.491.el6.6 will be an update
    --> Processing Dependency: qemu-img = 2:0.12.1.2-2.491.el6.6 for package: 2:qemu-kvm-0.12.1.2-2.491.el6.6.x86_64
    --> Processing Dependency: snappy for package: 2:qemu-kvm-0.12.1.2-2.491.el6.6.x86_64
    --> Processing Dependency: lzo for package: 2:qemu-kvm-0.12.1.2-2.491.el6.6.x86_64
    --> Processing Dependency: libsnappy.so.1()(64bit) for package: 2:qemu-kvm-0.12.1.2-2.491.el6.6.x86_64
    --> Processing Dependency: liblzo2.so.2()(64bit) for package: 2:qemu-kvm-0.12.1.2-2.491.el6.6.x86_64
    --> Running transaction check
    ---> Package lzo.x86_64 0:2.03-3.1.el6_5.1 will be installed
    ---> Package qemu-img.x86_64 2:0.12.1.2-2.415.el6 will be updated
    ---> Package qemu-img.x86_64 2:0.12.1.2-2.491.el6.6 will be an update
    ---> Package snappy.x86_64 0:1.1.0-1.el6 will be installed
    --> Finished Dependency Resolution
    
    Dependencies Resolved
    
    ==============================================================================================================================================
     Package                                  Arch                                   Version                                                 Repos
    ==============================================================================================================================================
    Updating:
     qemu-kvm                                 x86_64                                 2:0.12.1.2-2.491.el6.6                                  updat
    Installing for dependencies:
     lzo                                      x86_64                                 2.03-3.1.el6_5.1                                        updat
     snappy                                   x86_64                                 1.1.0-1.el6                                             base 
    Updating for dependencies:
     qemu-img                                 x86_64                                 2:0.12.1.2-2.491.el6.6                                  updat
    
    Transaction Summary
    ==============================================================================================================================================
    Install       2 Package(s)
    Upgrade       2 Package(s)
    
    Total download size: 2.5 M
    Is this ok [y/N]: y 
    

    3.复查

    [root@BCLinux ~]# rpm -q qemu-kvm
    qemu-kvm-0.12.1.2-2.491.el6.6.x86_64
    

    4.重启机器

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

    外部链接

    1.BCLinux安全更新


登录后回复
 

与 BC-LINUX 的连接断开,我们正在尝试重连,请耐心等待