PT-2026-31948 · Vikunja · Vikunja
Published
2026-04-10
·
Updated
2026-04-10
·
CVE-2026-35597
CVSS v3.1
7.5
High
| Vector | AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N |
Name of the Vulnerable Software and Affected Versions
Vikunja versions prior to 2.3.0
Description
A flaw exists in Vikunja before version 2.3.0 related to the Time-based One-Time Password (TOTP) failed-attempt lockout mechanism. A database transaction handling bug prevents the account lockout from being correctly persisted. Specifically, when a TOTP validation fails, the login handler rolls back the database session unconditionally, undoing the attempt to lock the account. This allows an attacker to bypass the intended lockout mechanism and perform unlimited brute-force attempts against TOTP codes. The vulnerability resides in the interaction between the login handler in
pkg/routes/api/v1/login.go and the HandleFailedTOTPAuth function in pkg/user/totp.go. The HandleFailedTOTPAuth function attempts to set the account status to locked, but this change is lost due to the rollback. The in-memory counter correctly increments, but the database is not updated.Recommendations
Update to version 2.3.0 or later to resolve this issue. As a temporary workaround, consider disabling TOTP until a patch is available.
Exploit
Fix
Improper Restriction of Excessive Authentication Attempts
Found an issue in the description? Have something to add? Feel free to write us 👾
Weakness Enumeration
Related Identifiers
Affected Products
Vikunja