对于使用共享式托管环境的用户来说,Optionsbleed的威胁来得尤其大。
一名自由撰稿人透露(https://blog.fuzzing-project.org/60-Optionsbleed-HTTP-OPTIONS-method-can-leak-Apaches-server-memory.html),广泛使用的Apache Web Server存在一个漏洞,导致服务器泄露随意的存储内容,有可能泄露密码或其他机密信息。
通过使用所谓的OPTIONS请求来查询服务器,即可触发这个安全漏洞。与更众所周知的GET请求和POST请求一样,OPTIONS也是一种HTTP方法,让用户得以确定服务器支持哪些HTTP请求。通常,服务器会响应GET、POST和OPTIONS,以及任何其他受支持的方法。然而在某些情况下,来自Apache Web Server的响应却包括存储在计算机内存中的数据。这里(https://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/server/core.c?r1=1805223&r2=1807754&pathrev=1807754&view=patch)和这里(https://blog.fuzzing-project.org/uploads/apache-2.2-optionsbleed-backport.patch)有相应的补丁。
说到泄露可能很严重的服务器内存数据,最臭名昭著的安全漏洞恐怕非广泛使用的OpenSSL加密库中的Heartbleed漏洞莫属。2014年4月在Heartbleed露面后短短数小时内,大批攻击者利用它获取属于雅虎、Ars及其他网站用户的密码。攻击者还可以利用Heartbleed,泄露网站的私有加密密钥,并且闯入使用多因子验证机制的网络。
相比之下,Optionsbleed并不构成如此大的威胁,但其影响仍然极具破坏性。允许不止一个客户共享单个机器的服务器主机面临的风险最高。这是由于Optionsbleed让客户得以钻这个漏洞的空子,从而泄露来自同一系统上的其他客户主机的机密数据。在整个互联网上,这个威胁倒是不大严重。周一记述这个漏洞的自由撰稿人哈诺·博克(Hanno Böck)最近作了一次扫描,结果发现,Alexa前100万个网站中只有466个网站岌岌可危。此外,与Heartbleed的情况相比,Optionsbleed泄露的内存数据比较少。
Optionsbleed是一种释放后使用(use-after-free)的漏洞,这归因于某些类型的配置限制了网站将支持的HTTP方法。Limit(限制)指令不适用时――无论是由于拼写错误,还是由于禁止使用已经不被允许的方法,这个漏洞就会形成。之后,只要向网站发送OPTIONS请求,就可以钻该漏洞的空子。依赖Apache的企业组织应该尽快安装补丁,如果它们是共享式托管服务的一部分,更是如此。
值得关注的是,这个漏洞早在2014年就发现了。不清楚为什么现在才打上相应的补丁。