Mock.js 安全漏洞(CVE-2023-26158)

admin 2023-12-15 23:03:46 Ali_nvd 来源:ZONE.CI 全球网 0 阅读模式
Mock.js 安全漏洞(CVE-2023-26158)

CVE编号

CVE-2023-26158

利用情况

暂无

补丁情况

N/A

披露时间

2023-12-08
漏洞描述
由于缺少对属性是否解析为对象原型的检查,mockjs包的所有版本都存在Prototype Pollution漏洞。通过添加或修改对象原型的属性,可能在所有对象中创建存在的属性,或者替换关键属性为恶意属性。如果软件依赖于某些属性的存在或不存在,或者使用对象原型的预定义属性(如hasOwnProperty、toString或valueOf),这可能会导致问题。在Mock.Handler、Mock.Random、Mock.RE.Handler或Mock.Util的extend()方法中的用户可控输入将使攻击者能够利用此漏洞。 解决方法:通过使用危险属性的拒绝列表,可以消除这个弱点。在Util.extend函数中添加以下代码行: js js if (['__proto__', 'constructor', 'prototype'].includes(name)) continue // src/mock/handler.js Util.extend = function extend() { var target = arguments[0] || {}, i = 1, length = arguments.length, options, name, src, copy, clone if (length === 1) { target = this i = 0 } for (; i < length; i++) { options = arguments[i] if (!options) continue for (name in options) { if (['__proto__', 'constructor', 'prototype'].includes(name)) continue src = target[name] copy = options[name] if (target === copy) continue if (copy === undefined) continue if (Util.isArray(copy) || Util.isObject(copy)) { if (Util.isArray(copy)) clone = src && Util.isArray(src) ? src : [] if (Util.isObject(copy)) clone = src && Util.isObject(src) ? src : {} target[name] = Util.extend(clone, copy) } else { target[name] = copy } } } return target }
解决建议
建议您更新当前系统或软件至最新版,完成漏洞的修复。
参考链接
https://github.com/nuysoft/Mock/blob/00ce04b92eb464e664a4438430903f2de96efb47...
https://security.snyk.io/vuln/SNYK-JS-MOCKJS-6051365
受影响软件情况
# 类型 厂商 产品 版本 影响面
1
运行在以下环境
应用 mockjs mock.js * Up to (including) 1.1.0
CVSS3评分 8.2
  • 攻击路径 网络
  • 攻击复杂度 低
  • 权限要求 无
  • 影响范围 未更改
  • 用户交互 无
  • 可用性 高
  • 保密性 无
  • 完整性 低
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H
CWE-ID 漏洞类型
CWE-1321 Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution')
- avd.aliyun.com
weinxin
版权声明
本站原创文章转载请注明文章出处及链接,谢谢合作!
N/A Ali_nvd

N/A

N/ACVE编号 CVE-2024-9120利用情况 暂无补丁情况 N/A披露时间 2024-09-23漏洞描述Use after free in Dawn
评论:0   参与:  0