流行插件 jQuery 被曝存在漏洞达三年之久!

原文:https://www.zdnet.com/article/zero-day-in-popular-jquery-plugin-actively-exploited-for-at-least-three-years/

以下为译文:

据外媒ZDNet近日报道,最受欢迎的jQuery插件——jQuery File Upload中出现了一个零日漏洞,黑客们能够利用该漏洞来植入黑客脚本,控制有漏洞的服务器。而编写该插件的是德国天才开发者Sebastian Tschan,也就是GitHub上广为人知的Blueimp(https://github.com/blueimp)。

jQuery File Upload插件漏洞极具破坏性

据悉,目前该插件在GitHub最受欢迎的jQuery项目中位居第二位,仅次于jQuery框架本身。该脚本非常受大众欢迎,下载次数超过7800次,并且已经集成到数百个甚至数千个其他项目中,例如CMSs、CRMs、Intranet解决方案,WordPress插件,Drupal附加组件,Joomla组件等等。

今年早些时候,Akamai安全情报响应小组的安全研究员Larry Cashdollar却在该插件的源代码中发现了一个漏洞,而这些源代码负责的是处理文件上传到PHP服务器。Cashdollar表示,攻击者可以滥用该漏洞将恶意文件上传到服务器,例如开后门和植入黑客脚本等。因此,该漏洞极具破坏性,它会在许多安装了相关插件的平台上破开安全漏洞。更糟糕的是,影响还在继续。

报道还表示,该漏洞已被大肆利用。Cashdollar在接受ZDNet采访时还提到:“我早在2016年就见过这些东西。”他此前曾发现多个YouTube视频详细讲解如何利用jQuery File Upload插件的漏洞来控制服务器。有一个的创建日期甚至在2015年8月——看起来甚至在2016年以前就已经被大肆利用了。

基于此图可以想到,这个对于信息安全社区来说仍是谜团重重的漏洞,很可能在黑客世界中是广为人知的一件事了。

据了解,jQuery File Upload 9.22.1之前的所有版本都有这个漏洞,且由于该漏洞影响的是PHP应用程序文件上传的代码,所以用其他语言实现的服务器端应该是安全的。

漏洞源于2010年Apache HTTPD服务器的版本更改

本月初,Cashdollar向Blueimp报告了该零日漏洞,而Blueimp也迅速对报告展开了调查。“现在我们正在尽量让更多的人都知道这个漏洞”。本月早些时候该漏洞被命名为CVE-2018-9206,也正式引起了更多人的关注。

开发者Sebastian Tschan通过调查发现,该漏洞真正来源不在插件的代码中,而是因为Apache网络服务器在2010年做过的一次变更,这才间接影响了插件在Apache服务器上的预期行为。

问题可以追溯到2010年11月23日,就在Blueimp推出该插件首发版本的前五天。那天,Apache基金会发布了Apache HTTPD服务器2.3.9版。

这个版本并没有特别之处,但它包含了一个安全方面的重大变化。从这个版本开始,Apache HTTPD服务器加入了一个选项,服务器所有者可以忽略.htaccess文件对各个文件夹进行的自定义安全设置——该设置是出于安全原因而创建的,默认情况下处于启用状态,并且会在所有后续Apache HTTPD服务器版本中保持该设置不变。而Blueimp的jQuery File Upload插件在编码时依赖自定义的.htaccess文件对其上传文件夹施加安全限制,却没料想Apache HTTPD团队做出了破坏插件基本设计的重大改变。

Cashdollar在最新发布的一份报告中说:“互联网每天都依赖于许多安全控制措施,才能保证我们的系统、数据和交易安全可靠。如果其中一个控制突然不存在了,那么它势必会在不知情的情况下将依赖这些控制的用户和软件开发人员置于安全风险之中。”

后续漏洞修复工作会很艰巨

自从Blueimp报告了他那边的发现以来,Cashdollar一直在花时间研究这个漏洞的影响范围。他做的第一件事就是查看GitHub上由原始插件衍生出来的所有其他分支。

Cashdollar表示,“我从GitHub上的7800个插件中抽查了1000个,结果发现它们都有该漏洞。”他测试所用的代码以及实际缺陷的概念验证都在GitHub上做了分享(https://github.com/lcashdol/Exploits/tree/master/CVE-2018-9206)。截至目前测试发现,由原始的jQuery File Upload插件衍生出来的所有项目中,只有36个没有该漏洞。

“但是调查GitHub上的分支只是第一步,我们仍然还有很多工作要做,因为还有许多项目仍未经测试。”研究人员已经通知了US-CERT(计算机安全应急响应组)该漏洞及其可能造成的影响。Cashdollar表示下一步是向GitHub寻求帮助,通知所有利用了该插件的项目所有者。例如Tajer,这是一个WordPress的插件,Cashdollar已经确认该插件有这个漏洞。该插件的下载次数非常少,目前WordPress插件官方代码库已将其删除,无法再下载了。

找到所有受影响的项目,并完全修复该漏洞可能还需要数年时间。历史经验证明,漏洞往往会持续很长时间,特别是在复杂的项目中已根深蒂固的插件漏洞,例如在CRMs、CMSs、博客平台或企业解决方案等项目中。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181029B1K47600?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券