Vulnerability Details : CVE-2022-36045
NodeBB Forum Software is powered by Node.js and supports either Redis, MongoDB, or a PostgreSQL database. It utilizes web sockets for instant interactions and real-time notifications. `utils.generateUUID`, a helper function available in essentially all versions of NodeBB (as far back as v1.0.1 and potentially earlier) used a cryptographically insecure Pseudo-random number generator (`Math.random()`), which meant that a specially crafted script combined with multiple invocations of the password reset functionality could enable an attacker to correctly calculate the reset code for an account they do not have access to. This vulnerability impacts all installations of NodeBB. The vulnerability allows for an attacker to take over any account without the involvement of the victim, and as such, the remediation should be applied immediately (either via NodeBB upgrade or cherry-pick of the specific changeset. The vulnerability has been patched in version 2.x and 1.19.x. There is no known workaround, but the patch sets listed above will fully patch the vulnerability.
Products affected by CVE-2022-36045
- cpe:2.3:a:nodebb:nodebb:*:*:*:*:*:*:*:*
- cpe:2.3:a:nodebb:nodebb:2.0.0:*:*:*:*:*:*:*
Exploit prediction scoring system (EPSS) score for CVE-2022-36045
0.21%
Probability of exploitation activity in the next 30 days
EPSS Score History
~ 59 %
Percentile, the proportion of vulnerabilities that are scored at or less
CVSS scores for CVE-2022-36045
Base Score | Base Severity | CVSS Vector | Exploitability Score | Impact Score | Score Source | First Seen |
---|---|---|---|---|---|---|
9.8
|
CRITICAL | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
3.9
|
5.9
|
NIST | |
9.0
|
CRITICAL | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H |
2.2
|
6.0
|
GitHub, Inc. |
CWE ids for CVE-2022-36045
-
The product uses insufficiently random numbers or values in a security context that depends on unpredictable numbers.Assigned by: security-advisories@github.com (Secondary)
-
The product uses a Pseudo-Random Number Generator (PRNG) in a security context, but the PRNG's algorithm is not cryptographically strong.Assigned by:
- nvd@nist.gov (Primary)
- security-advisories@github.com (Secondary)
References for CVE-2022-36045
-
https://github.com/NodeBB/NodeBB/commit/81e3c1ba488d03371a5ce8d0ebb5c5803026e0f9
fix: get rid of math.random in generateUUID · NodeBB/NodeBB@81e3c1b · GitHubPatch;Third Party Advisory
-
https://github.com/NodeBB/NodeBB/commit/e802fab87f94a13f397f04cfe6068f2f7ddf7888
fix: get rid of math.random in utils.generateUUID · NodeBB/NodeBB@e802fab · GitHubPatch;Third Party Advisory
-
https://github.com/NodeBB/NodeBB/security/advisories/GHSA-p4cc-w597-6cpm
Account takeover via cryptographically weak PRNG in `utils.generateUUID` · Advisory · NodeBB/NodeBB · GitHubThird Party Advisory
Jump to