Parse Server: MFA recovery code single-use bypass via concurrent requests
Low severity
GitHub Reviewed
Published
Mar 22, 2026
in
parse-community/parse-server
•
Updated Mar 27, 2026
Package
Affected versions
>= 9.0.0, < 9.6.0-alpha.54
< 8.6.60
Patched versions
9.6.0-alpha.54
8.6.60
Description
Published by the National Vulnerability Database
Mar 24, 2026
Published to the GitHub Advisory Database
Mar 24, 2026
Reviewed
Mar 24, 2026
Last updated
Mar 27, 2026
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.
References