BLSA-2017:0037 – [中等] httpd 安全警告及修复方法



  • BLSA-2017:0037 – [中等] httpd 安全警告及修复方法

    问题描述

    HTTPD最近在mod_session_crypto模块(CVE-2016-0736)以及mod_auth_digest模块(CVE-2016-2161)中被暴露存在安全漏洞,同时还发现了安全限制绕过漏洞(CVE-2016-8743),恶意攻击者利用这些漏洞能够访问和修改会话数据,致使httpd子进程崩溃或者伪造目标服务器内容,造成Web缓存中毒或实施跨站脚本攻击。建议所有受影响用户都安装BCLinux 提供的的升级包以修复这些漏洞,升级包包含了修复这些漏洞的补丁文件。

    httpd简介
    httpd是Apache超文本传输协议(HTTP)服务器的主程序。被设计为一个独立运行的后台进程,它会建立一个处理请求的子进程或线程的池。通常,httpd不应该被直接调用,而应该在类Unix系统中由 apachectl 调用。httpd软件包提供了一款功能强大的,高效的,可扩展的Apache HTTP服务器。

    影响版本

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

    详细介绍

    安全修复

    • CVE-2016-0736 [中等]
      httpd的mod_session_crypto模块存在安全漏洞,该漏洞源于程序未能正确解析HTTP头数据。远程攻击者可利用该漏洞通过向mod_session_crypto提供特制的数据实施padding oracle攻击,访问和修改会话数据。

    • CVE-2016-2161 [中等]
      httpd的mod_auth_digest模块没有正确检查内存分配,如果httpd使用摘要认证机制,远程攻击者可能会使用此漏洞来使httpd子进程崩溃。

    • CVE-2016-8743 [中等]
      httpd中的HTTP解析器被暴露出允许某些不能在HTTP请求头中编码的特殊字符出现在HTTP请求头中,该安全限制绕过漏洞源于程序没有正确的解析HTTP头数据。远程攻击者可通过提交特制的URL利用该漏洞伪造目标服务器内容,造成Web缓存中毒或实施跨站脚本攻击。

    漏洞修复

    • BZ#1420002
      在httpd正常重启唤醒子进程过程中,如果有大量子进程在重启之前已经激活,则httpd父进程可能会尝试打开更多的连接。因此,httpd重启过程可能会需要很长时间。

    • BZ#1429947
      当与WebSocket服务器的连接关闭时,在容器中运行的httpd会返回HTTP状态代码500(Internal Server Error),导致httpd服务器无法将正确的HTTP状态和数据传递给客户端。

    • BZ#1420047
      在使用mod_authnz_ldap模块的LDAP验证配置中,AuthLDAPBindDN指令设置的名称未正确地用于绑定到所有查询的LDAP服务器,因此,导致授权尝试失败。

    解决方案

    目前,BCLinux的官方源已经提供 httpd 的更新软件包,受影响的 BCLinux 7 客户端用户需要升级到 2.4.6-45.el7_3.4 版本。

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

    [root@BCLinux ~]# ll /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 httpd
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
    Resolving Dependencies
    --> Running transaction check
    ---> Package httpd.x86_64 0:2.4.6-45.el7.centos will be updated
    ---> Package httpd.x86_64 0:2.4.6-45.el7_3.4 will be an update
    --> Processing Dependency: httpd-tools = 2.4.6-45.el7_3.4 for package: httpd-2.4.6-45.el7_3.4.x86_64
    --> Running transaction check
    ---> Package httpd-tools.x86_64 0:2.4.6-45.el7.centos will be updated
    ---> Package httpd-tools.x86_64 0:2.4.6-45.el7_3.4 will be an update
    --> Finished Dependency Resolution
    
    Dependencies Resolved
    
    ===============================================================================================================================================
     Package                            Arch                          Version                                 Repository                      Size
    ===============================================================================================================================================
    Updating:
     httpd                              x86_64                        2.4.6-45.el7_3.4                        updates                        1.2 M
    Updating for dependencies:
     httpd-tools                        x86_64                        2.4.6-45.el7_3.4                        updates                         84 k
    
    Transaction Summary
    ===============================================================================================================================================
    Upgrade  1 Package (+1 Dependent package)
    
    Total download size: 1.3 M
    Is this ok [y/d/N]: y
    

    3.复查

    [root@BCLinux ~]# rpm -q httpd
    httpd-2.4.6-45.el7_3.4.x86_64
    

    4.重启应用

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

    外部链接

    1.BCLinux安全更新