GitHub Advisoryadvisory · npm
GHSA-2299-ghjr-6vjp Parse Server: MFA recovery code single-use bypass via concurrent requests
LOW
Official page ↗
- Aliases
- CVE-2026-33624
- Ecosystem
- npm
- Packages
- parse-server
- Severity
- Low
- CVSS vector
- CVSS:4.0/AV:N/AC:H/AT:P/PR:H/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
- Weaknesses
- CWE-367
- Reviewed
- 2026-03-24
Affected packages
• npm parse-server: >= 9.0.0, < 9.6.0-alpha.54 → fixed in 9.6.0-alpha.54
• npm parse-server: < 8.6.60 → fixed in 8.6.60
Description
Impact
An attacker who obtains a user's password and a single MFA recovery code can reuse that recovery code an unlimited number of times by sending concurrent login requests. This defeats the single-use design of recovery codes. The attack requires the user's password, a valid recovery code, and the ability to send concurrent requests within milliseconds.
Patches
The login handler now uses optimistic locking when updating auth data that contains consumed single-use tokens. If a concurrent request has already modified the recovery array, the update fails and the login is rejected.
Workarounds
There are no known workarounds.
Related
Alias · CVE (1)
- CVE-2026-33624 Parse Server is an open source backend that can be deployed to any infrastructure that can run Node.js. vulnerability
Weakness · CWE (1)
- CWE-367 Time-of-check Time-of-use (TOCTOU) Race Condition weakness
References
- https://github.com/parse-community/parse-server/security/advisories/GHSA-2299-ghjr-6vjp web
- https://nvd.nist.gov/vuln/detail/CVE-2026-33624 advisory
- https://github.com/parse-community/parse-server/pull/10275 web
- https://github.com/parse-community/parse-server/pull/10276 web
- https://github.com/parse-community/parse-server/commit/5e70094250a36bfcc14ecd49592be2b94fba66ff web
- https://github.com/parse-community/parse-server/commit/fc3da35a81d5083b453e8967cabcc880f1a3bd0c web
- https://github.com/parse-community/parse-server package