7.5

CVE-2026-35597: Vikunja Affected by TOTP Brute-Force Due to Non-Functional Account Lockout

Analyzed
AliasesGHSA-fgfv-pv97-6cmjGO-2026-5362
Published 10-04-2026Last modified 13-04-2026

Vulnerability summary

CVE-2026-35597 is a high (CVSS 7.5) vulnerability in go-vikunja vikunja. EPSS estimates a 0.47% chance of exploitation in the next 30 days, higher than 39.7% of scored vulnerabilities. 1 public exploit is recorded.

Overall risk
40/100
0100
Medium · default modelHow is this calculated?
CVSS score
7.5/10
010
High · v3.1 (NVD)
EPSS score
0.47%
0%100%
Low · +0.17 pp in 30 days
KEVNot listedNot listed by any tracked catalog.
RansomwareNot flaggedNo ransomware use recorded.
Public exploits1github

Advisory lineage

Upstream 0 · Downstream 1 · Related 1

Timeline

  1. 10-04-2026
    PublishedVulnerability first disclosed.
  2. 13-04-2026
    Last modifiedVulnerability information updated.

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.

CVSS metrics

3 scores · 3 sources · 1 version

EPSS trend

Probability

0.47%

Chance of exploitation in the next 30 days

Percentile

40%

Versus all other CVEs

30-day change

Increase +0.17 pp

From 0.30% on 22-09-2026

22-09-202622-10-2026

Known exploited

Compare KEV catalogs
CISA KEV

Not in the CISA KEV catalog.

ENISA CNW

Not in the ENISA CNW catalog.

CIRCL

Not in the CIRCL catalog.

Public exploits

1 found
  • githubUnverified

    Vikunja

    Maturity: poc

Weaknesses

CWE · root cause

Affected systems

Code.vikunja.io1 product
  • api< 2.3.0 | All versions (No fix recorded)
Go-vikunja1 product
Vikunja1 product

3 vendors · 3 products

References

6 links