PatchSiren cyber security CVE debrief
CVE-2026-35597 go-vikunja CVE debrief
CVE-2026-35597 debrief: A vulnerability in Vikunja, a self-hosted task management platform, allows unlimited brute-force attempts against Time-Based One-Time Password (TOTP) codes due to a database transaction handling bug. This issue was fixed in version 2.3.0. The vulnerability arises from a bug in the login handler of Vikunja, which causes the database session to roll back after a TOTP validation failure. As a result, the account lockout mechanism, which is triggered when the number of failed TOTP attempts reaches a certain threshold, is not effectively activated. This allows attackers to make unlimited attempts to guess TOTP codes without being locked out, increasing the risk.
- Vendor
- go-vikunja
- Product
- vikunja
- CVSS
- MEDIUM 5.9
- CISA KEV
- Not listed in stored evidence
- Original CVE published
- 2026-04-10
- Original CVE updated
- 2026-10-26
- Advisory published
- 2026-04-10
- Advisory updated
- 2026-10-26
Who should care
Defenders responsible for Vikunja instances should assess exposure and apply the fix to prevent brute-force attacks against TOTP codes. This includes verifying the version of Vikunja being used, applying the patch (upgrading to version 2.3.0 or later), and implementing additional security measures such as rate limiting or IP blocking. Additionally, defenders should monitor for suspicious login activity and adjust security settings as needed to mitigate the
Why it matters
CVE-2026-35597 allows unlimited brute-force attempts against TOTP codes in Vikunja instances, increasing the risk of successful authentication. Defenders should verify exposure, apply the fix, and monitor for suspicious activity.
- Defenders must verify exposure and apply the fix to prevent brute-force attacks.
- The vulnerability allows for unlimited attempts against TOTP codes, increasing the risk of successful authentication.
- Defenders should monitor for suspicious login activity and adjust security settings as needed.
Technical summary
The vulnerability is caused by a database transaction handling bug in the login handler, which rolls back the database session after a TOTP validation failure. This prevents the account lockout mechanism from being triggered, allowing for unlimited brute-force attempts. The bug is located in the login handler of Vikunja, specifically in the pkg/routes/api/v1/login.go file. When a TOTP validation fails, the HandleFailedTOTPAuth function in pkg/user/totp.go increments an in-memory counter to track failed attempts. However, because the login handler always rolls back the database session after a TOTP failure, the account lockout mechanism, which is supposed to be triggered when the counter reaches 10, is never
Defensive priority
Defenders should prioritize verifying exposure and applying the fix, as the vulnerability allows for brute-force attacks against TOTP codes.
Recommended defensive actions
- Verify if the Vikunja instance is vulnerable by checking the version and applying the fix (upgrade to 2.3.0 or later)
- Implement additional security measures to prevent brute-force attacks, such as rate limiting or IP blocking
- Monitor for suspicious login activity and adjust security settings as needed
- Review compensating controls for exposed systems while remediation is scheduled and verified
- Check relevant monitoring, detection, and logs for exposed assets that need extra review
- Track exceptions, retest remediated assets, and close the item only after evidence is documented
- Confirm whether affected product deployments exist in managed environments and assign an owner for follow-up
Evidence notes
The vulnerability is caused by a database transaction handling bug in the login handler, which rolls back the database session after a TOTP validation failure. This prevents the account lockout mechanism from being triggered, allowing for unlimited brute-force attempts.
Sources and references
Verified primary and authoritative sources
-
CVE-2026-35597 CVE Program record
Publisher, destination, and source semantics verified
URL: https://www.cve.org/CVERecord?id=CVE-2026-35597
CVE Program - Official CVE Program record with source-provided CVE metadata.
-
CVE-2026-35597 NVD vulnerability detail
Publisher, destination, and source semantics verified
URL: https://nvd.nist.gov/vuln/detail/CVE-2026-35597
NIST National Vulnerability Database - Official NIST NVD detail page and source-specific vulnerability assessment.
Supplemental references
-
Source reference
Unverified legacy reference
URL: https://github.com/go-vikunja/vikunja/commit/6ca0151d02fa0e8c7e2181ab916a28e08caaaec8
[email protected] - Patch
-
Source reference
Unverified legacy reference
URL: https://github.com/go-vikunja/vikunja/pull/2576
[email protected] - Issue Tracking
-
Source reference
Unverified legacy reference
URL: https://github.com/go-vikunja/vikunja/releases/tag/v2.3.0
[email protected] - Release Notes
-
Source reference
Unverified legacy reference
URL: https://github.com/go-vikunja/vikunja/security/advisories/GHSA-fgfv-pv97-6cmj
[email protected] - Exploit, Vendor Advisory
Methodology and review provenance
AI-assisted synthesis based on stored public vulnerability evidence. System validation, approval state, and publication status do not by themselves establish human review of this revision. PatchSiren helps prioritize defensive review and does not prove exposure or remediation on any system.