CVE Explorer
CVE-2026-35597
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, StatusA
Known exploited
Not asserted
Disputed
No
Stale source
No
Conflicts
0
Affected products and versions
1 source assertion{"product":"vikunja","vendor":"go-vikunja","versions":[{"status":"affected","version":"< 2.3.0"}]}
- cve_program_cvelist_v5affectedurn:baitaphish:normalized-source-record:v2:dafe092985b203c025d216be7444fe569c2fe206566b98e43d52e975a750fb5f · sha256:685d0cf7d7a3e107… · /containers/cna/affected/0
Provider-owned CVSS observations
1 source assertion{"metric":{"attackComplexity":"HIGH","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":5.9,"baseSeverity":"MEDIUM","confidentialityImpact":"HIGH","integrityImpact":"NONE","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N","version":"3.1"},"metric_type":"cvssV3_1"}
- cve_program_cvelist_v5cvssurn:baitaphish:normalized-source-record:v2:dafe092985b203c025d216be7444fe569c2fe206566b98e43d52e975a750fb5f · sha256:685d0cf7d7a3e107… · /containers/cna/metrics/0/cvssV3_1
CWE assertions
1 source assertion{"cweId":"CWE-307","description":"CWE-307: Improper Restriction of Excessive Authentication Attempts","lang":"en","type":"CWE"}
- cve_program_cvelist_v5cweurn:baitaphish:normalized-source-record:v2:dafe092985b203c025d216be7444fe569c2fe206566b98e43d52e975a750fb5f · sha256:685d0cf7d7a3e107… · /containers/cna/problemTypes/0/descriptions/0
Source references
5 source assertions{"name":"https://github.com/go-vikunja/vikunja/commit/6ca0151d02fa0e8c7e2181ab916a28e08caaaec8","tags":["x_refsource_MISC"],"url":"https://github.com/go-vikunja/vikunja/commit/6ca0151d02fa0e8c7e2181ab916a28e08caaaec8"}
- cve_program_cvelist_v5referenceurn:baitaphish:normalized-source-record:v2:dafe092985b203c025d216be7444fe569c2fe206566b98e43d52e975a750fb5f · sha256:685d0cf7d7a3e107… · /containers/cna/references/2
{"name":"https://github.com/go-vikunja/vikunja/pull/2576","tags":["x_refsource_MISC"],"url":"https://github.com/go-vikunja/vikunja/pull/2576"}
- cve_program_cvelist_v5referenceurn:baitaphish:normalized-source-record:v2:dafe092985b203c025d216be7444fe569c2fe206566b98e43d52e975a750fb5f · sha256:685d0cf7d7a3e107… · /containers/cna/references/1
{"name":"https://github.com/go-vikunja/vikunja/releases/tag/v2.3.0","tags":["x_refsource_MISC"],"url":"https://github.com/go-vikunja/vikunja/releases/tag/v2.3.0"}
- cve_program_cvelist_v5referenceurn:baitaphish:normalized-source-record:v2:dafe092985b203c025d216be7444fe569c2fe206566b98e43d52e975a750fb5f · sha256:685d0cf7d7a3e107… · /containers/cna/references/3
{"name":"https://github.com/go-vikunja/vikunja/security/advisories/GHSA-fgfv-pv97-6cmj","tags":["x_refsource_CONFIRM"],"url":"https://github.com/go-vikunja/vikunja/security/advisories/GHSA-fgfv-pv97-6cmj"}
- cve_program_cvelist_v5referenceurn:baitaphish:normalized-source-record:v2:dafe092985b203c025d216be7444fe569c2fe206566b98e43d52e975a750fb5f · sha256:685d0cf7d7a3e107… · /containers/cna/references/0
{"tags":["exploit"],"url":"https://github.com/go-vikunja/vikunja/security/advisories/GHSA-fgfv-pv97-6cmj"}
- cve_program_cvelist_v5referenceurn:baitaphish:normalized-source-record:v2:dafe092985b203c025d216be7444fe569c2fe206566b98e43d52e975a750fb5f · sha256:685d0cf7d7a3e107… · /containers/adp/0/references/0
Attribution and limitations
- CVE Program CVEList V5: Reproduce the MITRE copyright designation and CVE license in copies. Source →
Provider severity values are preserved separately. Baitaphish does not convert them into a risk rating, infer affected products, or treat EPSS as observed exploitation.