| Package | Affected versions | Patched versions |
|---|---|---|
| parse-server | = 9.6.0≥ 9.0.0, < 9.6.0< 8.6.60 | 9.6.08.6.60 |
| parse-server | ≥ 9.0.0, < 9.6.0-alpha.54< 8.6.60 | 9.6.0-alpha.548.6.60 |
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.
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.
There are no known workarounds.
Running one of these products? Scan your site to see whether it exposes a vulnerable version.
Scan my site free