CVE-2026-31875 json
Parse Server MFA recovery codes not consumed after use
published 2026-03-11 8 mo ago modified 2026-09-08 2 mo ago also BIT-parse-2026-31875 , EUVD-2026-11280 , GHSA-4hf6-3x24-c9m8
- cvss
- 5.9
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.5%
- EPSS 0.5% chance of exploitation in 30 days, percentile 46%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- npm parse-server 8.6.33, 9.6.0-alpha.7
- bitnami parse 8.6.33, 9.6.0
- parseplatform parse-server 8.6.33, 9.6.0-alpha.7
- parseplatform parse_server 8.6.33, 9.6.0-alpha.7
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 7 mo ago
Exploit prediction
0.55% chance of exploitation in the next 30 days, higher than 46% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 8.2 | CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N |
| CNA | 4.0 | 8.2 | CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
| NVD | 3.1 | 5.9 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | parse-server | >=9.0.0-alpha.1, <9.6.0-alpha.7 <8.6.33 |
9.6.0-alpha.7 8.6.33 |
| bitnami | parse | <8.6.33 >=9.0.0, <9.6.0 |
8.6.33 9.6.0 |
Affected products
- parse-community parse-server
Classification
- Weakness
-
- CWE-672 Operation on a Resource after Expiration or Release
References
-
github.com
/parse-community/parse-server/security/advisories/GHSA-4hf6-3x24-c9m8
web, patch, vendor-advisory, advisory
-
github.com
/parse-community/parse-server/releases/tag/8.6.33
web, product, release-notes, article
-
github.com
/parse-community/parse-server/releases/tag/9.6.0-alpha.7
web, product, release-notes, article
-
nvd.nist.gov
/vuln/detail/CVE-2026-31875
advisory, web
-
github.com
/parse-community/parse-server
package
Sources
- CVE List CVE-2026-31875
- GitHub Advisory GHSA-4hf6-3x24-c9m8
- NVD CVE-2026-31875
- OSV BIT-parse-2026-31875
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.