CVE-2026-72917CWE-180CWE-287

CVE-2026-72917

Medium · published August 11, 2026

CVSS v3.1
5.9
EPSS
0%
Percentile
27.1
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS v3.1
5.9 · MEDIUM
Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
CVSS v4.0
Not supplied
EPSS
0.00347 · 27.1th percentile
Weaknesses
CWE-180 · Incorrect Behavior Order: Validate Before Canonicalize; CWE-287 · Improper Authentication
Published
2026-08-11T02:17Z
References (2)
EPSS history
Timeline
  • 10 AUG 21:35Z
    AnythingLLM: Password recovery accepts one recovery code twice after whitespace normalization
    cvelistv5