CVE-2026-72917: CWE-180: Incorrect Behavior Order: Validate Before Canonicalize in Mintplex-Labs anything-llm
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.
AI Analysis
Technical Summary
In AnythingLLM versions before 1.15.1, the unauthenticated account recovery process in server/utils/PasswordRecovery/index.js uses the recoverAccount() function to deduplicate raw recoveryCodes before trimming whitespace. This incorrect ordering allows a single valid recovery code submitted twice with different surrounding whitespace to satisfy the two-code requirement. Additionally, each normalized code can match the same stored hash, bypassing the need for distinct codes. An attacker with knowledge of a target username and one recovery code can exploit this by calling POST /api/system/recover-account in multi-user mode to obtain a password-reset token, then use POST /api/system/reset-password to take over the account, including administrator accounts.
Potential Impact
Successful exploitation allows an unauthenticated attacker to reset the password of any user account, including administrator accounts, leading to full account takeover. This compromises confidentiality and control of the affected accounts. The vulnerability does not impact system availability or integrity beyond account access.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. Until a fix is available, restrict access to the account recovery API if possible and monitor for suspicious password reset activity. Avoid relying solely on recovery codes without additional verification factors.
CVE-2026-72917: CWE-180: Incorrect Behavior Order: Validate Before Canonicalize in Mintplex-Labs anything-llm
Description
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.
CVSS v3.1
Score 5.9medium
Affected software
Mintplex-Labs
anything-llm
Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
In AnythingLLM versions before 1.15.1, the unauthenticated account recovery process in server/utils/PasswordRecovery/index.js uses the recoverAccount() function to deduplicate raw recoveryCodes before trimming whitespace. This incorrect ordering allows a single valid recovery code submitted twice with different surrounding whitespace to satisfy the two-code requirement. Additionally, each normalized code can match the same stored hash, bypassing the need for distinct codes. An attacker with knowledge of a target username and one recovery code can exploit this by calling POST /api/system/recover-account in multi-user mode to obtain a password-reset token, then use POST /api/system/reset-password to take over the account, including administrator accounts.
Potential Impact
Successful exploitation allows an unauthenticated attacker to reset the password of any user account, including administrator accounts, leading to full account takeover. This compromises confidentiality and control of the affected accounts. The vulnerability does not impact system availability or integrity beyond account access.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. Until a fix is available, restrict access to the account recovery API if possible and monitor for suspicious password reset activity. Avoid relying solely on recovery codes without additional verification factors.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- GitHub_M
- Date Reserved
- 2026-08-10T17:57:26.144Z
- Cvss Version
- 3.1
- State
- PUBLISHED
Threat ID: 6a7a491dbf8831d5399d94f0
Added to database: 08/10/2026, 21:56:45 UTC
Last enriched: 08/10/2026, 22:18:28 UTC
Last updated: 09/25/2026, 01:47:44 UTC
Views: 68
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.