CVE-2026-33228
CRITICAL9.8EPSS 0.07%Prototype Pollution via parse() in NodeJS flatted
發布日:2026/3/19修改日:2026/5/16
描述
flatted is a circular JSON parser. Prior to version 3.4.2, the parse() function in flatted can use attacker-controlled string values from the parsed JSON as direct array index keys, without validating that they are numeric. Since the internal input buffer is a JavaScript Array, accessing it with the key "__proto__" returns Array.prototype via the inherited getter. This object is then treated as a legitimate parsed value and assigned as a property of the output object, effectively leaking a live reference to Array.prototype to the consumer. Any code that subsequently writes to that property will pollute the global prototype. This issue has been patched in version 3.4.2.
受影響套件(2)
- Debian/node-flattedfrom 0
- npm/flattedfrom 0, < 3.4.2
CVSS 分數
| 來源 | 版本 | 嚴重程度 | 向量 |
|---|---|---|---|
| osv | CVSS 4.0 | — | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:P |
| osv | CVSS 3.1 | CRITICAL9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
參考連結(6)
- ADVISORYhttps://nvd.nist.gov/vuln/detail/CVE-2026-33228
- ADVISORYhttps://security-tracker.debian.org/tracker/CVE-2026-33228
- PATCHhttps://github.com/WebReflection/flatted
- WEBhttps://github.com/WebReflection/flatted/commit/885ddcc33cf9657caf38c57c7be45ae1c5272802
- WEBhttps://github.com/WebReflection/flatted/releases/tag/v3.4.2
- WEBhttps://github.com/WebReflection/flatted/security/advisories/GHSA-rf6f-7fwh-wjgh