Medium severity · published Aug 10, 2026
CVE-2026-72917
AnythingLLM: Password recovery accepts one recovery code twice after whitespace normalization
5.9
CVSS
0.3%
EPSS
No
On KEV
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 vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
Attack vector
Network
Complexity
High
Privileges
None
User interaction
None
Confidentiality
High
Integrity
None
Availability
None
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)0.3% · higher than 28% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
AN
anything-llm · Mintplex-Labs
Affected versions >= 1.0.0, <= 1.15.0 · source: vendor
Affected product
AN
anything-llm
Mintplex-Labs
More from anything-llm
9.6
CVE-2026-32626
AnythingLLM has a Streaming Phase XSS to RCE via LLM Response Injection
8.8
CVE-2026-48116
AnythingLLM: RCE via ripgrep --pre argument injection in filesystem-search-files agent skill
8.8
CVE-2026-32628
AnythingLLM has SQL Injection in Built-in SQL Agent Plugin via Unsanitized table_name Parameter
7.5
CVE-2026-32617
AnythingLLM Permissable CORS policy
7.5
CVE-2026-24477
AnythingLLM has key leak in `systemSettings.js`