尚未到被打补丁的Apache HTTP服务器发现的漏洞允许攻击者访问内部网络上的受保护的资源,如果没有正确定义一些重写规则。
该漏洞影响的Apache安装在反向代理模式运作,负载均衡,缓存和其他业务涉及多个服务器的资源分配使用的配置类型 。
为了设置apache httpd的运行作为反向代理,服务器管理员使用的mod_proxy和mod_rewrite的专用模块。
Qualys公司的安全研究人员警告说,一定的规则,如果配置不正确,攻击者可以诱骗执行未经授权的请求访问内部资源服务器。
问题不在于新的漏洞,使类似的袭击是针对十月。然而,同时检讨它的补丁,Qualys公司的研究员Prutha帕瑞克实现,它可以绕过由于在错误的程序的URI(统一资源标识符)计划剥离的。该计划是URI的一部分,冒号前的“:”字符,如HTTP,FTP或文件,。
一个比较常见的改写和代理规则(.*) http://internal_host $ 1,将请求重定向到本机internal_host。但是,如果这是用来和服务器接收,例如,为“主机:端口”的要求(用两个冒号),“主机:”部分被剥离,剩下的就是追加到http://internal_host为了它在内部提出。
问题是,在这种情况下,余下的部分是“端口”,因此改造转发到http://internal_host:port,一个意外的行为,可能导致暴露在受保护的资源请求。
为了减轻问题的服务器管理员应该在重写规则一个斜杠前加$1,正确的形式"^(.*) http://internal_host/ $ 1“,帕瑞克说。
Apache的开发者都意识到了这个问题,目前正在讨论的修复的最佳方法。一种可能性是,以加强在以前的服务器代码补丁,以拒绝这样的请求,然而,有没有其他旁路方法肯定不会被发现。
我们可以尝试提高该修补程序,但我认为这是简单,更改mod_proxy的translate_name挂钩和mod_rewrite的正确的地方,以执行要求。