CVE-2020-5251
mediumpriority · track · 21OT risk · elevatedEPSS 0.008 · 58 %ileEUUSEPSS · scored 2026-10-27
In parser-server before version 4.1.0, you can fetch all the users objects, by using regex in the NoSQL query. Using the NoSQL, you can use a regex on sessionToken and find valid accounts this way.
cvss
Technical severity, 0–10. One row per scoring source.
base score 0–10 · higher = more severe · hover a vector to decode⚠ sources disagree · medium–high · 4.9–7.7
weaknesses
The CWE weakness classes this flaw belongs to.
affected products (4)
Products and version ranges known to be affected.
advisories (2)
Vendor and ecosystem advisories describing this.
- GHSA-h4mf-75hf-67w4Information disclosure in parse-server2020-03-04ghsa · osvUS
1. you can fetch all the users' objects, by using regex in the NoSQL query. Using the NoSQL, you can use a regex on sessionToken `("_SessionToken":{"$regex":"r:027f"}}` and find valid accounts this way. Using this method, it's possible to retrieve accounts without interaction from the users. GET /parse/users/me HTTP/1.1 ``` { "_ApplicationId": "appName", "_JavaScriptKey": "javascriptkey", "_ClientVersion": "js2.10.0", "_InstallationId": "ca713ee2-6e60-d023-a8fe-14e1bfb2f300", "_SessionToken": { "$regex": "r:5" } } ``` When trying it with an update query the same thing luckily doesn't seem to work: POST /parse/classes/_User/PPNk59jPPZ 2. There is another similar vulnerability in verify email and the request password reset. If you sign up with someone else's email address, you can simply use regex in the token param to verify the account: `http://localhost:1337/parse/apps/kickbox/verify_email?token[$regex]=a&username=some@email.com` The same thing can be done for reset password: `http://localhost:1337/parse/apps/kickbox/request_password_reset?token[$regex]=a&username=some@email.com` You may need to do it a few times with a different letter/number, but as long as the tokens contain the character it will succeed.
- BIT-parse-2020-5251Information disclosure in parse-server2024-03-06vendor · osvUS
In parser-server before version 4.1.0, you can fetch all the users objects, by using regex in the NoSQL query. Using the NoSQL, you can use a regex on sessionToken and find valid accounts this way.
also known as (5)
Other names and identifiers for this entity.
sources
Which sources assert this record, and when.
references (7)
External citations — patches, advisories, analysis.
- https://github.com/parse-community/parse-server/commit/3a3a5eee5ffa48da1352423312cb767de14de269cnnvd
- https://github.com/parse-community/parse-server/security/advisories/GHSA-h4mf-75hf-67w4cnnvd
- https://nvd.nist.gov/vuln/detail/CVE-2020-5251cnnvd
- https://github.com/parse-community/parse-server/commit/3a3a5eee5ffa48da1352423312cb767de14de269enisa_euvd
- https://github.com/parse-community/parse-server/security/advisories/GHSA-h4mf-75hf-67w4enisa_euvd
- https://github.com/parse-community/parse-server/commit/3a3a5eee5ffa48da1352423312cb767de14de269PatchThird Party Advisorynvd
- https://github.com/parse-community/parse-server/security/advisories/GHSA-h4mf-75hf-67w4Third Party Advisorynvd
Attackers weaponise vulnerabilities like this against internet-exposed services. See what is exposed on your perimeter with a free passive scan.
Free scan