【CSDN编者按】作为 GitHub 平台上仅次于 jQuery 框架本身第二受欢迎的 jQuery 项目,流行插件 jQuery File Upload 被整合到了数以千计的项目中。但是近日其却被曝出存在严重的“零日漏洞”,黑客们在长达三年的时间里一直在利用它控制存在漏洞的 Web 服务器!
虽然目前开发者已修复了该漏洞,但据统计,由原始的 jQuery File Upload 插件衍生出来的所有项目中只有 36 个没有漏洞,因此,后续平台项目的安全修复工作还需要很长的时间来进行。
以下为译文:
据外媒ZDNet近日报道,最受欢迎的jQuery插件——jQuery File Upload中出现了一个零日漏洞,黑客们能够利用该漏洞来植入黑客脚本,控制有漏洞的服务器。而编写该插件的是德国天才开发者Sebastian Tschan,也就是GitHub上广为人知的Blueimp(
https://github.com/blueimp)。
据悉,目前该插件在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应用程序文件上传的代码,所以用其他语言实现的服务器端应该是安全的。
本月初,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://www.zdnet.com/article/zero-day-in-popular-jquery-plugin-actively-exploited-for-at-least-three-years/作者:Catalin Cimpanu,ZDNet安全记者,负责网络安全、数据泄露、黑客攻击和其他主题。曾担任Bleeping Computer和Softpedia安全记者。
译者:弯月,责编:郭芮
“征稿啦”
CSDN 公众号秉持着「与千万技术人共成长」理念,不仅以「极客头条」、「畅言」栏目在第一时间以技术人的独特视角描述技术人关心的行业焦点事件,更有「技术头条」专栏,深度解读行业内的热门技术与场景应用,让所有的开发者紧跟技术潮流,保持警醒的技术嗅觉,对行业趋势、技术有更为全面的认知。
如果你有优质的文章,或是行业热点事件、技术趋势的真知灼见,或是深度的应用实践、场景方案等的新见解,欢迎联系 CSDN 投稿,联系方式:微信(guorui_1118,请备注投稿+姓名+公司职位),邮箱(guorui@csdn.net)。