Impact
AnythingLLM’s account‑recovery mechanism allows an unauthenticated attacker to submit the same recovery code twice after whitespace normalization. Because the code list is deduplicated before trimming, the two submissions are considered distinct and each can match the same stored hash, enabling the attacker to obtain a password‑reset token. With the token, the attacker can set a new password via the reset endpoint and gain full control of the target account, including privileged administrator accounts. The flaw falls under CWE‑180 and CWE‑287, reflecting improper handling of user input and authorization bypass.
Affected Systems
The impact is limited to Mintplex‑Labs AnythingLLM versions 1.0.0 through 1.15.0, where the vulnerable recovery code logic was deployed. Only installations that expose the unauthenticated /api/system/recover‑account endpoint are vulnerable; protected or internal deployments that block unauthenticated access are not affected.
Risk and Exploitability
The CVSS score of 5.9 indicates moderate severity; the EPSS value is unknown and the vulnerability is not listed in CISA KEV, suggesting it is not currently being exploited in the wild. However, the attack vector is straightforward: a single username and one valid recovery code, which may be disclosed via phishing or leaked credentials, suffice to obtain a reset token and take over an account. Because the vulnerability requires only HTTP POST requests and no privileged host access, it remains accessible to any external actor once the target is identified.
OpenCVE Enrichment