内容简介:jQuery官方于日前发布安全预警通告,通报了漏洞编号为 CVE-2019-11358的原型污染漏洞。由攻击者控制的属性可被注入对象,之后或经由触发 JavaScript 异常引发拒绝服务,或篡改该应用程序源代码从而强制执行攻击者注入的代码路径。奇安信代码卫士将持续关注该漏洞进展,并第一时间为您更新该漏洞信息。
1、安全通告
jQuery官方于日前发布安全预警通告,通报了漏洞编号为 CVE-2019-11358的原型污染漏洞。由攻击者控制的属性可被注入对象,之后或经由触发 JavaScript 异常引发拒绝服务,或篡改该应用程序源代码从而强制执行攻击者注入的代码路径。
奇安信代码卫士将持续关注该漏洞进展,并第一时间为您更新该漏洞信息。
2、文档信息
文档名称 | jQuery CVE-2019-11358原型污染漏洞 |
关键字 | jQuery,原型污染 |
发布日期 | 2019年4月23日 |
分析团队 | 奇安信代码卫士 |
3、漏洞信息
3.1 漏洞分析
./src/core.js 第155行:
if ((options = arguments[ i ]) != null) {
options 取传入的参数 arguments[i],而后第158 、159 行:
for (name in options) { copy= options [name];
name、copy值进而可以受输入控制。
最后,在第183行:
target[name] = jQuery.extend (deep,clone, copy);
在第187行:
target[name] = copy;
如果 name 可以为 __proto__,则会向上影响target 的原型,进而覆盖造成原型污染。
target 在第127行:
target = arguments[ 0 ] || {},
3.2 风险评级
奇安信代码卫士风险评级为:高危
预警等级:蓝色预警
漏洞本身是高危漏洞,但利用难度比较大。原型污染漏洞并未可大规模被利用的漏洞,因为漏洞要利用成功,需要攻击者非常了解具体代码的结构,需要攻击者深入了解每个网站和对象原型的运作方式以及这些原型如何在庞大的图式中进行分解,然后构造合适的利用方法才能成功。一般闭源的网站系统,攻击者很难深入了解从而构造利用代码,所以几乎不受此漏洞攻击。
4、修复方案
(1)jQuery version 3.x 修复方案
升级到最新的3.4.0版本。
(2)jQuery version 2.x 修复方案
$ diff jquery-2.2.4.js jquery-2.2.4-patch.js 213c213,214 < if (target === copy) {---> // Prevent Object.prototype pollution> if (name === "__proto__" || target === copy) {
(3)jQuery version 1.x 修复方案
$ diff jquery-1.12.4.js jquery-1.12.4-patch.js 213c213,214 < if (target === copy) {---> // Prevent Object.prototype pollution> if (name === "__proto__" || target === copy) {
5、修复建议
建议修复。修复难度较低,不影响正常功能。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
UNIX编程艺术
Eric S. Raymond / 姜宏、何源、蔡晓俊 / 电子工业出版社 / 2006-2 / 59.00元
本书主要介绍了Unix系统领域中的设计和开发哲学、思想文化体系、原则与经验,由公认的Unix编程大师、开源运动领袖人物之一Eric S. Raymond倾力多年写作而成。包括Unix设计者在内的多位领域专家也为本书贡献了宝贵的内容。本书内容涉及社群文化、软件开发设计与实现,覆盖面广、内容深邃,完全展现了作者极其深厚的经验积累和领域智慧。一起来看看 《UNIX编程艺术》 这本书的介绍吧!