BLSA-2016:0012 – Xerces-C 严重安全漏洞警告及修复方法


  • BCLinux Developers

    BLSA-2016:0012 – Xerces-C 严重安全漏洞警告及修复方法


    问题描述

    近期发现 Xerces-C XML 解析器不能正确处理某些 XML 输入。通过给使用 Xerces-C 做 XML 解析的应用传入伪造的 XML 数据,远程攻击者就能触发这个漏洞从而让应用崩溃,或者借用应用的权限来执行任意代码。建议所有 Xerces-C 的用户都安装 BCLinux 提供的的升级包,升级包包含了向前移植的补丁文件以修复这些漏洞。

    影响版本

    • BigCloud Enterprise Linux 7.0+
    • Red Hat Enterprise Linux 7.0+
    • CentOS Linux 7.0+

    详细介绍

    Apache Xerces-C 是一个用可移植的 C++ 子集写的有效的 XML 解析器。

    Xerces-C XML 解析器 V3.1.3 之前的版本被发现不能正确处理某些 XML 输入文档,这会导致在文档处理和错误报告过程中出现缓存溢出的问题。这些溢出在 XML 文档解析过程中表现为段错误或内存崩溃。这个漏洞可以让未认证的攻击者在很多应用中发起拒绝服务攻击,并可能导致远程代码执行。(CVE-2016-0729)

    注意: 使用低于 V3.1.3 版本库的应用应该尽快升级,或打上相应的补丁。

    解决方案

    目前,BCLinux 的官方源已经可以提供更新的 Xerces-C 软件包,BCLinux 7 用户需要升级到 3.1.1-8 版本。

    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 xerces-c
      Loaded plugins: fastestmirror
      Loading mirror speeds from cached hostfile
      Resolving Dependencies
      --> Running transaction check
      ---> Package xerces-c.x86_64 0:3.1.1-8.el7_2 will be updated
      --> Finished Dependency Resolution
      
      Dependencies Resolved
      
      ===============================================================================================================================================================================================
      Package                                      Arch                                    Version                                                   Repository                                Size
      ===============================================================================================================================================================================================
      Updating:
      xerces-c                                     x86_64                                  3.1.1-8.el7_2                                             updates                                  793 k
      
      Transaction Summary
      ===============================================================================================================================================================================================
      Upgrade  1 Package
      
      Total download size: 793 k
      Installed size: 2.3 M
      
    1. 复查

      [root@BCLinux ~]# rpm -qa | grep xerces-c
      xerces-c-3.1.1-8.el7_2.x86_64
      
    2. 重启服务

      为了使得升级生效,在安装升级包以后,需要重启所有使用 xerces-c 库的服务。

    外部链接:

    1. BCLinux 安全更新