美国东北大学研究人员在对超过 133000 个网站分析时发现,有超过 37% 的站点仍在使用至少包含一个已知公开漏洞的 JavaScript 库。研究人员早在 2014年进行研究时就曾提醒,应当注意由于在浏览器中加载老旧版本的 JavaScript 库(如 jQuery、AngularJS 框架)而导致的潜在安全风险。
正如他们在一篇新发表的论文中所强调的,在某些条件下,这些脆弱的库会变得极其危险,比如指向一个老旧的 jQuery 跨站脚本 bug ,这将允许攻击者借机注入恶意脚本。
他们查看了来自 Amazon 的 Alexa 排名前 75000 的站点和 75000个 随机抽选的 .com 站点,评估了72个库及各自不同的版本。
研究发现,36.7% 的 jQuery、40.1% 的 Angular、86.6% 的 Handlebars、以及 87.3% 的 YUI 存有漏洞隐患;此外还有 9.7% 的站点包含 2 个(及 2 个以上的)漏洞库版本。热门站点在这方面做得相对更好,很少用不安全的库,Alexa Top 100 的站点中只有 21% 中招。
不过,研究人员对 JavaScript 生态系统的安全状态的整体评价仍然是:混乱!
研究人员写道:“本次调查可能最清晰的结果是发现了 JavaScript 库复杂、无组织的生态系统,在安全方面相当“临时”的实际证据。没有可靠的漏洞数据库,没有供应商维护的安全邮件列表,发行说明中很少或根本就没有关于安全问题的细节,通常很难确定是哪些版本的库受到指定报告的漏洞的影响。”
而且,由于很多库已经过时了,补救起来绝不容易。只有少量站点( Alexa 中的 2.8%、.com 中的 1.6% )可以通过免费补丁进行更新修复,因为大版本的跃迁可能会无法向后兼容。
编译自:zdnet
补充一个话题讨论:随着 WebAssembly 正逐渐走向主流,你们觉得 WebAssembly 是否会对 JavaScript 造成冲击?甚至取代?欢迎在评论区回复交流。