CVE-2022-46164: NodeBB vulnerable to account takeover via prototype vulnerability
9.4
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.98208%
CWE
Published
12/5/2022
Updated
1/31/2023
KEV Status
No
Technology
JavaScript
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:L
| Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
|---|---|---|---|
| nodebb | npm | < 2.6.1 | 2.6.1 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stems from the initialization of the 'Namespaces' object as a plain object with a prototype ({}). The commit fixes this by using Object.create(null), which creates a prototype-less object. The associated CWE-665 (Improper Initialization) and the patch's focus on socket.io's onMessage handling confirm that the message handler relied on this vulnerable object. Prototype pollution in this context allows attackers to inject malicious properties into the Namespaces object, leading to authentication bypass.