CVE-2026-35597 Details
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.
A vulnerability in Vikunja, an open-source task management platform, allows unlimited brute-force attempts against Time-based One-Time Password (TOTP) codes. This issue arises from a database transaction handling bug that prevents the TOTP failed-attempt lockout from functioning properly. In versions prior to 2.3.0, when a TOTP validation fails, the login handler calls 'HandleFailedTOTPAuth' and then rolls back the database session, undoing the lockout status that should have been applied after 10 failed attempts. As a result, the lockout mechanism fails to persist, leaving accounts vulnerable to repeated TOTP code entry attempts.
Users can update to Vikunja version 2.3.0, which fixes the TOTP lockout mechanism by ensuring that lockout status changes are properly committed to the database, rather than being rolled back after a failed TOTP validation.
Metrics
CVSS 4.0 Severity and Vector Strings:
No CVSS 4.0 data is available for this CVE.
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
CISA-ADP
Assessed Apr 13, 2026References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
| URL | Source(s) | Tag(s) |
|---|---|---|
| https://github.com/go-vikunja/vikunja/security/advisories/GHSA-fgfv-pv97-6cmj | CISA-ADP | ExploitVendor Advisory |
| https://github.com/go-vikunja/vikunja/commit/6ca0151d02fa0e8c7e2181ab916a28e08caaaec8 | [email protected] | Patch |
| https://github.com/go-vikunja/vikunja/pull/2576 | [email protected] | Issue Tracking |
| https://github.com/go-vikunja/vikunja/releases/tag/v2.3.0 | [email protected] | Release Notes |
| https://github.com/go-vikunja/vikunja/security/advisories/GHSA-fgfv-pv97-6cmj | [email protected] | ExploitVendor Advisory |
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| CWE-307 | Improper Restriction of Excessive Authentication Attempts | [email protected] |
Affected Products
| Product | Versions |
|---|---|
| vikunja vikunja | < 2.3.0 |
CPE
Remediation
| |
Change History
5 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Jun 17, 2026 | CVE Modified | [email protected] |
| Jun 17, 2026 | CVE Modified | CISA-ADP |
| Apr 17, 2026 | Initial Analysis | [email protected] |
| Apr 13, 2026 | CVE Modified | CISA-ADP |
| Apr 10, 2026 | New CVE Received | [email protected] |