AnythingLLM: Password recovery accepts one recovery code twice after whitespace normalization
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- High
- Impact type
- Security bypass
- Confidentiality · integrity · availability
- High · None · None
- Fix status
- No fix listed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-287.
Summary
AnythingLLM is an application that turns pieces of content into context that any LLM can use as references during chatting. From 1.0.0 to 1.15.0, AnythingLLM's unauthenticated account-recovery flow in server/utils/PasswordRecovery/index.js uses recoverAccount() to deduplicate the raw recoveryCodes values before trimming them, so one valid code submitted twice with different surrounding whitespace can satisfy the two-code check. Each normalized value can also match the same stored hash instead of consuming a distinct hash. An attacker who knows the target username and one recovery code can call POST /api/system/recover-account in multi-user mode, receive a password-reset token, and use POST /api/system/reset-password to take over the account, including an administrator account.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| mintplex-labs | anything-llm | Affected versions >= 1.0.0, <= 1.15.0 | — | No fix listed | CNA |
- anything-llm Vendormintplex-labs Affected Affected versions >= 1.0.0, <= 1.15.0 Fixed in — No fix listed CNA
CPE names Threatist (inferred) · 1
Inferred from how NVD named this product before; not given by a source.
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:mintplexlabs:anythingllm:*:*:*:*:*:*:*:* | — | — | mintplex-labs |
- cpe:2.3:a:mintplexlabs:anythingllm:*:*:*:*:*:*:*:* Versions — — ·mintplex-labs
Remediation
No fixed version listed by the sources yet.
Timeline
- 2026-10-02 Threatist record created from CVE-2026-72917
References
More mintplex-labs vulnerabilities
- TI-2024-07601 Missing Authentication for Critical Function in mintplex-labs/anything-llm CVSS 3.0CRITICAL 9.8
- TI-2024-02840 Improper Authorization in mintplex-labs/anything-llm CVSS 3.1CRITICAL 9.4
- TI-2024-03075 Improper Access Control in mintplex-labs/anything-llm CVSS 3.0CRITICAL 9.1
- TI-2023-05368 Improper Input Validation in mintplex-labs/anything-llm CVSS 3.1CRITICAL 9.1
- TI-2026-19731 AnythingLLM has key leak in `systemSettings.js` CVSS 4.0HIGH 8.7
- TI-2024-02907 Remote Code Execution in mintplex-labs/anything-llm CVSS 3.1CRITICAL 9.8
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences