CVE-2026-33228: WebReflection flatted · Prototype Pollution
Affects WebReflection flattedSource CVE Database V5
Public exploit available · CVSS 8.9 High : upgrade to 3.4.2 as a priority.
Data as of 1 Nov 2026, 22:58 UTC
- EPSS
- 0.8% chance of exploitation in 30 days – higher than 57% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
- Patch
- Available – fixed in 3.4.2
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:PExploitation evidence
Disclosed: evidence found.
CVE published 20 Mar 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponized: evidence found.
CVSS exploit maturity: proof of concept public
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), CVSS vector, the Metasploit, Exploit-DB and nuclei-templates index as of 1 Nov 2026.
What to do
Upgrade WebReflection flatted to 3.4.2.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| WebReflectionflatted | Affected
| Fixed in
|
npmflattedpkg:npm/flattedOther threats | Affected
| Fixed in
|
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
AI-suggested
A fix is available in flatted version 3.4.2. Users and vendors should upgrade to version 3.4.2 or later to remediate this vulnerability. Red Hat has issued advisories and is working on fixes for affected products that incorporate the flatted library. Until patched, avoid processing untrusted JSON data with vulnerable versions or apply input sanitization to prevent prototype pollution.
Description
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.
References
- github.com/WebReflection/flatted/security/advisories/GHSA-rf6f-7fwh-wjgh (opens in a new tab)
- github.com/WebReflection/flatted/commit/885ddcc33cf9657caf38c57c7be45ae1c5272802 (opens in a new tab)
- github.com/WebReflection/flatted/releases/tag/v3.4.2 (opens in a new tab)
- access.redhat.com/security/cve/CVE-2026-33228 (opens in a new tab)
- bugzilla.redhat.com/show_bug.cgi?id=2449872 (opens in a new tab)
- security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-33228.json (opens in a new tab)
- access.redhat.com/errata/RHSA-2026:34342 (opens in a new tab)
- access.redhat.com/errata/RHSA-2026:9742 (opens in a new tab)
- access.redhat.com/errata/RHSA-2026:13826 (opens in a new tab)