Parse Server is an open source backend that can be deployed to any infrastructure that can run Node.js. Prior to 9.6.0-alpha.7 and 8.6.33, when multi-factor authentication (MFA) via TOTP is enabled for a user account, Parse Server generates two single-use recovery codes. These codes are intended as a fallback when the user cannot provide a TOTP token. However, recovery codes are not consumed after use, allowing the same recovery code to be used an unlimited number of times. This defeats the single-use design of recovery codes and weakens the security of MFA-protected accounts. An attacker who obtains a single recovery code can repeatedly authenticate as the affected user without the code ever being invalidated. This vulnerability is fixed in 9.6.0-alpha.7 and 8.6.33.
The product uses, accesses, or otherwise operates on a resource after that resource has been expired, released, or revoked.
| Name | Vendor | Start Version | End Version |
|---|---|---|---|
| Parse-server | Parseplatform | * | 8.6.33 (excluding) |
| Parse-server | Parseplatform | 9.0.0 (including) | 9.6.0 (excluding) |
| Parse-server | Parseplatform | 9.6.0-alpha1 (including) | 9.6.0-alpha1 (including) |
| Parse-server | Parseplatform | 9.6.0-alpha2 (including) | 9.6.0-alpha2 (including) |
| Parse-server | Parseplatform | 9.6.0-alpha3 (including) | 9.6.0-alpha3 (including) |
| Parse-server | Parseplatform | 9.6.0-alpha4 (including) | 9.6.0-alpha4 (including) |
| Parse-server | Parseplatform | 9.6.0-alpha5 (including) | 9.6.0-alpha5 (including) |
| Parse-server | Parseplatform | 9.6.0-alpha6 (including) | 9.6.0-alpha6 (including) |