Skip to content

Commit 003182b

Browse files
1 parent 8d91822 commit 003182b

1 file changed

Lines changed: 82 additions & 0 deletions

File tree

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
{
2+
"schema_version": "1.4.0",
3+
"id": "GHSA-r3xq-68wh-gwvh",
4+
"modified": "2026-03-17T17:40:08Z",
5+
"published": "2026-03-17T17:40:08Z",
6+
"aliases": [],
7+
"summary": "Parse Server has a password reset token single-use bypass via concurrent requests",
8+
"details": "### Impact\n\nThe password reset mechanism does not enforce single-use guarantees for reset tokens. When a user requests a password reset, the generated token can be consumed by multiple concurrent requests within a short time window. An attacker who has intercepted a password reset token can race the legitimate user's password reset request, causing both requests to succeed. This may result in the legitimate user believing their password was changed successfully while the attacker's password takes effect instead.\n\nAll Parse Server deployments that use the password reset feature are affected.\n\n### Patches\n\nThe password reset token is now atomically validated and consumed as part of the password update operation. The database query that updates the password includes the reset token as a condition, ensuring that only one concurrent request can successfully consume the token. Subsequent requests using the same token will fail because the token has already been cleared.\n\n### Workarounds\n\nThere is no known workaround other than upgrading.",
9+
"severity": [
10+
{
11+
"type": "CVSS_V4",
12+
"score": "CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:P/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N"
13+
}
14+
],
15+
"affected": [
16+
{
17+
"package": {
18+
"ecosystem": "npm",
19+
"name": "parse-server"
20+
},
21+
"ranges": [
22+
{
23+
"type": "ECOSYSTEM",
24+
"events": [
25+
{
26+
"introduced": "9.0.0"
27+
},
28+
{
29+
"fixed": "9.6.0-alpha.28"
30+
}
31+
]
32+
}
33+
]
34+
},
35+
{
36+
"package": {
37+
"ecosystem": "npm",
38+
"name": "parse-server"
39+
},
40+
"ranges": [
41+
{
42+
"type": "ECOSYSTEM",
43+
"events": [
44+
{
45+
"introduced": "0"
46+
},
47+
{
48+
"fixed": "8.6.48"
49+
}
50+
]
51+
}
52+
]
53+
}
54+
],
55+
"references": [
56+
{
57+
"type": "WEB",
58+
"url": "https://github.com/parse-community/parse-server/security/advisories/GHSA-r3xq-68wh-gwvh"
59+
},
60+
{
61+
"type": "WEB",
62+
"url": "https://github.com/parse-community/parse-server/pull/10216"
63+
},
64+
{
65+
"type": "WEB",
66+
"url": "https://github.com/parse-community/parse-server/pull/10217"
67+
},
68+
{
69+
"type": "PACKAGE",
70+
"url": "https://github.com/parse-community/parse-server"
71+
}
72+
],
73+
"database_specific": {
74+
"cwe_ids": [
75+
"CWE-367"
76+
],
77+
"severity": "LOW",
78+
"github_reviewed": true,
79+
"github_reviewed_at": "2026-03-17T17:40:08Z",
80+
"nvd_published_at": null
81+
}
82+
}

0 commit comments

Comments
 (0)