BUGTRAQ ID: 49303
CVE ID: CVE-2011-3192
Apache HTTP Server是Apache软件基金会的一个开放源代码的网页服务器,可以在大多数电脑操作系统中运行,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。
Apache HTTP Server在处理Range选项生成回应时存在漏洞,远程攻击者可能利用此漏洞通过发送恶意请求导致服务器失去响应,导致拒绝服务。
此漏洞源于Apache HTTP Server在处理Range头选项中包含的大量重叠范围指定命令时存在的问题,攻击者可通过发送到服务器的特制HTTTP请求耗尽系统资源,导致Apache失去响应,甚至造成操作系统资源耗尽。
Apache 2.x
Apache 1.3
临时解决方法:
在厂商提供官方补丁或新版本软件之前,建议用户采用如下的配置方案之一以尽可能免受漏洞的影响:
* 使用SetEnvIf配置命令来忽略畸形的Ranger选项,适用于Apache 2.0和2.2 。
修改Apache的配置文件httpd.conf。
去掉如下行的注释:
LoadModule headers_module modules/mod_headers.so
增加如下行的配置命令:
SetEnvIf Range (,.*?){5,} bad-range=1
RequestHeader unset Range env=bad-range
重启Apache服务器。
* 安装启用mod_rewrite,设置规则过滤规则禁止带有畸形的Ranger选项的请求,适用于所有版本的
Apache 。
修改Apache的配置文件httpd.conf。
去掉如下行的注释:
LoadModule rewrite_module modules/mod_rewrite.so
加入如下的mod_rewrite的规则配置行:
RewriteEngine on
RewriteCond %{HTTP:range} !(^bytes=[^,]+(,[^,]+){0,4}$|^$)
RewriteRule .* - [F]
重启Apache服务器。
上述两种配置会禁止Range选项包含超过5个范围指定命令的请求,在通常应用场景中对Web应用应该不会有什么影响,如果Web应用提供PDF数据或流媒体信息,可能需要调整阈值到更大的数值。
厂商补丁:
Apache Group
------------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
http://www.apache.org
暂无评论