{"id":"CVE-2026-72917","summary":"AnythingLLM: Password recovery accepts one recovery code twice after whitespace normalization","details":"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.","aliases":["GHSA-vv8w-wg6r-hq56"],"modified":"2026-08-14T03:51:50.645166630Z","published":"2026-08-10T21:35:33.872Z","database_specific":{"unresolved_ranges":[{"source":"AFFECTED_FIELD","extracted_events":[{"introduced":"Affected versions \u003e= 1.0.0, \u003c= 1.15.0"},{"last_affected":"Affected versions \u003e= 1.0.0, \u003c= 1.15.0"}]}],"cna_assigner":"GitHub_M","cwe_ids":["CWE-180","CWE-287"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/72xxx/CVE-2026-72917.json"},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/72xxx/CVE-2026-72917.json"},{"type":"ADVISORY","url":"https://github.com/Mintplex-Labs/anything-llm/security/advisories/GHSA-vv8w-wg6r-hq56"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-72917"},{"type":"FIX","url":"https://github.com/Mintplex-Labs/anything-llm/commit/61766d06b77b903f66dc4afd8dffb3a39012db14"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/mintplex-labs/anything-llm","events":[{"introduced":"0"},{"fixed":"61766d06b77b903f66dc4afd8dffb3a39012db14"}],"database_specific":{"source":"REFERENCES"}}],"versions":["v1.14.1","v1.14.0","v1.13.0","v1.12.1","v1.12.0","v1.11.2","v1.11.1","v1.11.0","v1.10.0","v1.9.1","v1.9.0","v1.8.5","v1.8.4","v1.8.3","v1.8.2","v1.8.1","v1.8.0","v1.7.8","v1.7.6","v1.7.5","v1.7.4","v1.4.0","v1.3.0","v1.2.3","v1.2.2","v1.2.1","v1.2.0","v1.1.1","v1.1.0","v1.0.0"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-72917.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N"}]}