Apache 2.0.x发现漏洞 尽快升级到2.0.51版
英国NISCC(国家基础设施安全协调中心)等机构9月15日公布了在网络浏览器“Apache 2.0.x”中发现的安全漏洞。如果有人发送了做了手脚的请求,就可能使Apache瘫痪,或者运行任意程序。对策是安装补丁程序或升级。目前已经公布修复了安全漏洞的Apache 2.0.51。Apache 1.3.x则不受此影响。
NISCC等公开的安全漏洞包括如下2种:
(1)不检查IPv6格式地址的安全漏洞
(2)不检查设置文件中环境变量长度的安全漏洞
(1)是由Apache软件基金会发现的安全漏洞。该漏洞的原因在于Apache中的“apr-util”库。该库包含的“apr_uri_parse”函数不对IPv6格式的URL进行正常检查。因此,一旦有人发送包含IPv6格式地址且做了手脚的请求(Request-URI或Host header等),apr_uri_parse函数就会产生缓存溢出。
结果就可能使Apache进程(httpd的子进程)瘫痪。如果是BSD平台,就会有运行任意程序的危险。
发现安全漏洞(2)的是Swedish IT Incident Centre(SITIC)。原因在于Apache中使用的“ap_resolve_env()”函数无法合理地处理“.htaccess”和“httpd.conf”等设置文件中的环境变量(${ENVVAR})。
具体而言,由于不能适当地确保缓存,因此展开环境变量时就可能产生缓存溢出。结果就会提高特定用户的权限(比如本来不能访问的目录和文件,却能够访问了)。
不过,要想产生缓存溢出,必须预先将做了手脚的文件装入Apache服务器。也就是说,必须要有Apache服务器的访问权限。与安全漏洞(1)不同的是,不能远程恶意使用该安全漏洞。
其对策是升级到最新的Apache 2.0.51版。最新版中除上述2个安全漏洞外,还修复了以下的安全漏洞。
(3)mod_ssl中的分割错误(Segmentation Fault)
(4)mod_ssl中的无限循环
(5)mod_dav_fs中的分割错误
(3)是有关Apache中SSL组件“mod_ssl”的安全漏洞。只在将Apache服务器用作其他SSL服务器的反向代理(Reverse Proxy)时才会受到影响。一旦被恶意使用,就能远程中断Apache服务器(httpd进程)(即发生分割错误)。
(4)也是有关“mod_ssl”的安全漏洞。一旦SSL链接在某个时间遭人破坏,mod_ssl就会产生无限循环处理,去消耗CPU资源。
(5)是有关“mod_dav_fs”组件的安全漏洞。和(3)一样能够远程中断httpd进程。
Apache软件基金会还公布了单独修复(1)至(5)安全漏洞的补丁程序。另外,预计OS开发商将会提供各种平台的升级版本,因此可以不安装这些补丁程序。
Apache软件基金会发送给注册用户的邮件中说,“我们认为该版本(2.0.51)是所有版本的Apache用户进行升级时最好的版本”。建议Apache 2.0.x管理员务必升级。