本文主要是介绍y18n引发安全漏洞,警惕javascript原型链污染,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
警惕javascript原型链污染问题
昨天收到了github的邮件,提醒我有一条Dependabot alerts,包依赖存在安全问题,当然这不是第一次了,正常情况我批准merge掉后就不会关心了,不过我发现这个包是y18n,这让我感到奇怪,这个包的功能非常简单,其实就是i18n,做语言国际化用的,逻辑应该非常简单,怎么会出安全问题呢?
我找到了这个安全问题的具体信息,他的CVE ID为CVE-2020-7774
,并且上报了SNYK,代码为SNYK-JS-Y18N-1021887
,SNYK对此安全问题给出了7.3的高分,并将安全类别划分为CWE-400
(资源消耗不受限制),如此严重的问题是怎么回事呢?
找到具体的修复PR,在https://github.com/yargs/y18n/pull/108,commit只有一个,为https://github.com/yargs/y18n/pull/108/commits/e90e8ce71b2fd5aa27c5109884ea47525fde961f,打开这个commit,发现其实主要只改了一行代码,加了两个检测原型的单元测试,这一行代码修改如下
- this.cache = {}
+ this.cache = Object.create(
这篇关于y18n引发安全漏洞,警惕javascript原型链污染的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!