CVE-2026-35597: CWE-307: Improper Restriction of Excessive Authentication Attempts in go-vikunja vikunja
Vikunja is an open-source self-hosted task management platform. Prior to 2.3.0, the TOTP failed-attempt lockout mechanism is non-functional due to a database transaction handling bug. When a TOTP validation fails, the login handler in pkg/routes/api/v1/login.go calls HandleFailedTOTPAuth and then unconditionally rolls back. HandleFailedTOTPAuth in pkg/user/totp.go uses an in-memory counter (key-value store) to track failed attempts. When the counter reaches 10, it calls user.SetStatus(s, StatusAccountLocked) on the same database session s. Because the login handler always rolls back after a TOTP failure, the StatusAccountLocked write is undone. The in-memory counter correctly increments past 10, so the lockout code executes on every subsequent attempt, but the database write is rolled back every time. This allows unlimited brute-force attempts against TOTP codes. This vulnerability is fixed in 2.3.0.
AI Analysis
Technical Summary
The vulnerability in go-vikunja vikunja (CVE-2026-35597) arises from improper restriction of excessive authentication attempts (CWE-307). Specifically, the TOTP failed-attempt lockout mechanism fails because the login handler rolls back the database transaction after a failed TOTP validation, undoing the account lockout status update. Although an in-memory counter tracks failed attempts and triggers lockout logic after 10 failures, the rollback prevents the lockout status from persisting in the database, enabling unlimited brute-force attempts on TOTP codes. This flaw affects versions prior to 2.3.0 and is resolved in version 2.3.0.
Potential Impact
The vulnerability allows attackers to perform unlimited brute-force attempts against TOTP codes because the account lockout status is never persisted due to transaction rollback. This can lead to unauthorized access if TOTP codes are guessed correctly. The CVSS score of 5.9 (medium severity) reflects a network attack vector with high impact on confidentiality but no impact on integrity or availability.
Mitigation Recommendations
Upgrade to vikunja version 2.3.0 or later, where this vulnerability is fixed. Patch status is not explicitly stated in the vendor advisory, but the fix is included in version 2.3.0. Until upgraded, be aware that the TOTP lockout mechanism is ineffective in affected versions.
CVE-2026-35597: CWE-307: Improper Restriction of Excessive Authentication Attempts in go-vikunja vikunja
Description
Vikunja is an open-source self-hosted task management platform. Prior to 2.3.0, the TOTP failed-attempt lockout mechanism is non-functional due to a database transaction handling bug. When a TOTP validation fails, the login handler in pkg/routes/api/v1/login.go calls HandleFailedTOTPAuth and then unconditionally rolls back. HandleFailedTOTPAuth in pkg/user/totp.go uses an in-memory counter (key-value store) to track failed attempts. When the counter reaches 10, it calls user.SetStatus(s, StatusAccountLocked) on the same database session s. Because the login handler always rolls back after a TOTP failure, the StatusAccountLocked write is undone. The in-memory counter correctly increments past 10, so the lockout code executes on every subsequent attempt, but the database write is rolled back every time. This allows unlimited brute-force attempts against TOTP codes. This vulnerability is fixed in 2.3.0.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The vulnerability in go-vikunja vikunja (CVE-2026-35597) arises from improper restriction of excessive authentication attempts (CWE-307). Specifically, the TOTP failed-attempt lockout mechanism fails because the login handler rolls back the database transaction after a failed TOTP validation, undoing the account lockout status update. Although an in-memory counter tracks failed attempts and triggers lockout logic after 10 failures, the rollback prevents the lockout status from persisting in the database, enabling unlimited brute-force attempts on TOTP codes. This flaw affects versions prior to 2.3.0 and is resolved in version 2.3.0.
Potential Impact
The vulnerability allows attackers to perform unlimited brute-force attempts against TOTP codes because the account lockout status is never persisted due to transaction rollback. This can lead to unauthorized access if TOTP codes are guessed correctly. The CVSS score of 5.9 (medium severity) reflects a network attack vector with high impact on confidentiality but no impact on integrity or availability.
Mitigation Recommendations
Upgrade to vikunja version 2.3.0 or later, where this vulnerability is fixed. Patch status is not explicitly stated in the vendor advisory, but the fix is included in version 2.3.0. Until upgraded, be aware that the TOTP lockout mechanism is ineffective in affected versions.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- GitHub_M
- Date Reserved
- 2026-04-03T21:25:12.162Z
- Cvss Version
- 3.1
- State
- PUBLISHED
- Remediation Level
- null
Threat ID: 69d9d9751cc7ad14da3f8729
Added to database: 4/11/2026, 5:17:41 AM
Last enriched: 4/18/2026, 2:36:02 PM
Last updated: 5/26/2026, 6:39:20 PM
Views: 80
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.