【漏洞通告】Apache HTTPD拒绝服务漏洞

2016年12月5日(当地时间),seclists.org网站发布了一条关于Apache网页服务器拒绝服务漏洞的消息,漏洞编号为CNNVD-201612-069。该漏洞存在于mod_http2模块中,这是从Apache HTTPD 2.4.17版本开始引入的关于HTTP/2协议的模块。然而该模块在默认情况下不被编译,且默认不启用,该漏洞只影响使用HTTP/2协议的用户。在使用HTTP/2协议的服务器上,攻击者可以通过发送精心构造的请求,导致服务器内存耗尽,造成拒绝服务。    相关链接地址如下:http://seclists.org/oss-sec/2016/q4/595

漏洞危害

成功利用漏洞后,耗尽服务器内存,导致拒绝服务攻击。

什么是HTTP/2

HTTP/2(超文本传输协议第2版,最初命名为HTTP 2.0),是HTTP协议的的第二个主要版本,使用于万维网。HTTP/2是HTTP协议自1999年HTTP 1.1发布后的首个更新,主要基于SPDY协议。它由互联网工程任务组(IETF)的Hypertext Transfer Protocol Bis(httpbis)工作小组进行开发。HTTP/2的目标包括异步连接复用,头压缩和请求反馈管线化并保留与HTTP 1.1的完全语义兼容。(引用自《维基百科》)

受影响的版本

  • Apache HTTPD version 2.4.17
  • Apache HTTPD version 2.4.18
  • Apache HTTPD version 2.4.20
  • Apache HTTPD version 2.4.23

不受影响的版本

代码修复

github上已经对该漏洞进行了源代码修复,部分修复情况如下所示。

修复代码中增加了对h2_stream_add_header函数返回值重置状态的判断。

代码修复截图(1)

代码修复截图(1)

修复代码中修改了对已添加头部的检查,并且在条件不成立时,返回的状态为“重置连接”。

代码修复截图(2)

代码修复截图(2)

源代码修复地址如下:

https://github.com/apache/httpd/commit/29c63b786ae028d82405421585e91283c8fa0da3

规避方案

  • Apache官方尚未发布版本更新,然而github上已经对该漏洞进行了源代码修复,建议用户下载最新的源码编译安装。github链接地址如下:

https://github.com/apache/httpd

  • 作为临时的缓解策略,已经启用HTTP/2的用户也可以从配置文件的“Protocols”行中删除“h2”和“h2c”从而禁用HTTP/2 。

 

本安全公告仅用来描述可能存在的安全问题,绿盟科技不为此安全公告提供任何保证或承诺。由于传播、利用此安全公告所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,绿盟科技以及安全公告作者不为此承担任何责任。绿盟科技拥有对此安全公告的修改和解释权。如欲转载或传播此安全公告,必须保证此安全公告的完整性,包括版权声明等全部内容。未经绿盟科技允许,不得任意修改或者增减此安全公告内容,不得以任何方式将其用于商业目的。

关于绿盟科技

北京神州绿盟信息安全科技股份有限公司(简称绿盟科技)成立于2000年4月,总部位于北京。在国内外设有30多个分支机构,为政府、运营商、金融、能源、互联网以及教育、医疗等行业用户,提供具有核心竞争力的安全产品及解决方案,帮助客户实现业务的安全顺畅运行。

基于多年的安全攻防研究,绿盟科技在网络及终端安全、互联网基础安全、合规及安全管理等领域,为客户提供入侵检测/防护、抗拒绝服务攻击、远程安全评估以及Web安全防护等产品以及专业安全服务。

北京神州绿盟信息安全科技股份有限公司于2014年1月29日起在深圳证券交易所创业板上市交易,股票简称:绿盟科技,股票代码:300369。

如果您需要了解更多内容,可以
加入QQ群:486207500、570982169
直接询问:010-68438880-8669

Spread the word. Share this post!

Meet The Author

Leave Comment