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



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

    问题描述

    QEMU-KVM最近暴露出多个安全漏洞,攻击者综合利用这些漏洞可以导致QEMU进程崩溃或者潜在地执行任意代码或者发起拒绝服务攻击等。为了增加系统安全强度,建议所有用户都安装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-9603 [重要]
      QEMU的Cirrus CLGD 54xx VGA仿真器中VNC驱动程序支持被发现存在堆溢出漏洞,当VNC客户端在VGA操作后尝试更新其显示时会引发此漏洞,客户机中有特权的用户或者进程可以利用这个漏洞导致QEMU进程崩溃或者潜在地执行任意代码。

    • CVE-2017-7980 [重要]
      在QEMU的Cirrus CLGD 54xx VGA仿真器支持中发现了一个越界读写漏洞,通过各种bitblt功能复制VGA数据时可能会导致该漏洞。QEMU客户端内的特权用户利用这个漏洞可以使QEMU进程崩溃,或者潜在地执行任意代码。

    • CVE-2017-2633 [中等]
      在QEMU的VNC显示驱动程序支持中发现了越界内存访问漏洞,当刷新“vnc_refresh_server_surface”中的VNC显示界面区域时可能会导致此漏洞,QEMU客户端中的用户/进程可以利用此漏洞使QEMU进程崩溃,进而导致拒绝服务。

    • CVE-2017-7718 [中等]
      在QEMU的Cirrus CLGD 54xx VGA仿真器支持中发现了一个越界访问漏洞,使用bitblt函数复制VGA数据时可能会导致此漏洞(例如,cirrus_bitblt_rop_fwd_transp)。QEMU客户端内的特权用户可以利用此漏洞使QEMU进程崩溃,进而导致拒绝服务。

    解决方案

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

    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
    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.503.el6.3 will be an update
    --> Processing Dependency: qemu-img = 2:0.12.1.2-2.503.el6.3 for package: 2:qemu-kvm-0.12.1.2-2.503.el6.3.x86_64
    --> Processing Dependency: snappy for package: 2:qemu-kvm-0.12.1.2-2.503.el6.3.x86_64
    --> Processing Dependency: lzo for package: 2:qemu-kvm-0.12.1.2-2.503.el6.3.x86_64
    --> Processing Dependency: libsnappy.so.1()(64bit) for package: 2:qemu-kvm-0.12.1.2-2.503.el6.3.x86_64
    --> Processing Dependency: liblzo2.so.2()(64bit) for package: 2:qemu-kvm-0.12.1.2-2.503.el6.3.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.503.el6.3 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                                       Repository                     Size
    ===============================================================================================================================================
    Updating:
     qemu-kvm                       x86_64                       2:0.12.1.2-2.503.el6.3                        updates                       1.6 M
    Installing for dependencies:
     lzo                            x86_64                       2.03-3.1.el6_5.1                              updates                        55 k
     snappy                         x86_64                       1.1.0-1.el6                                   base                           39 k
    Updating for dependencies:
     qemu-img                       x86_64                       2:0.12.1.2-2.503.el6.3                        updates                       845 k
    
    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.503.el6.3.x86_64
    

    4.重启应用

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

    外部链接

    1.BCLinux安全更新