Vikunja before 2.6.0 TOTP Secret Disclosure via API
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Attack requirements
- None
- Impact type
- Information disclosure
- Confidentiality · integrity · availability
- Low · None · None
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA and GitHub. Impact type from CWE-522.
Summary
Vikunja before 2.6.0 continues to expose the raw TOTP shared secret after enrollment through the GET /api/v1/user/settings/totp and /api/v1/user/settings/totp/qrcode endpoints without re-authentication. Attackers with a valid access token can read the secret, import it into their own authenticator, and generate valid codes indefinitely to defeat the second factor and enable account takeover.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| go-vikunja | vikunja | before 2.6.0 | 2.6.0 | Patch available | CNA |
| — | code.vikunja.io/api (Go) | before 2.6.0 | 2.6.0 | Patch available | GHSA-88f6-4rjv-x774 |
- vikunja Vendorgo-vikunja Affected before 2.6.0 Fixed in 2.6.0 Patch available CNA
- code.vikunja.io/api (Go) Vendor— Affected before 2.6.0 Fixed in 2.6.0 Patch available GHSA-88f6-4rjv-x774
CPE names Threatist (inferred) · 1
Inferred from how NVD named this product before; not given by a source.
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:vikunja:vikunja:*:*:*:*:*:*:*:* | — | — | go-vikunja |
- cpe:2.3:a:vikunja:vikunja:*:*:*:*:*:*:*:* Versions — — ·go-vikunja
Remediation
- Fix · CNA vikunja (go-vikunja) Fixed in 2.6.0
- Fix · GHSA-88f6-4rjv-x774 code.vikunja.io/api (Go) Fixed in 2.6.0 Advisory →
Fixed in the same release
Records fixed by the same vendor advisory or release, as the CNA lists them.
- Release ·
go-vikunja vikunja 2.6.0
13 records Highest priority Priority HIGH 3 HIGH, 7 MEDIUM, 3 LOW
Other records, highest priority first
- TI-2026-62115 Vikunja before 2.6.0 Privilege Escalation via Link Share HashPriority HIGH 77
- TI-2026-62108 Vikunja before 2.6.0 Authentication Bypass via CalDAV BasicAuthPriority HIGH 77
- TI-2026-62107 Vikunja before 2.6.0 Authentication Bypass via Unthrottled APIPriority HIGH 77
Timeline
- 2026-10-02 Threatist record created from CVE-2026-91982
- 2026-10-03 Alias added: GHSA-jmr8-r558-3jhx
- 2026-10-10 Alias added: GHSA-88f6-4rjv-x774
- 2026-10-10 Fix available: Go/code.vikunja.io/[email protected] · GHSA-88f6-4rjv-x774
- 2026-10-10 CVSS score added · GHSA-88f6-4rjv-x774
- 2026-10-10 Weakness changed · GHSA-88f6-4rjv-x774
- 2026-10-10 5 new references · GHSA-88f6-4rjv-x774
References
More go-vikunja vulnerabilities
- TI-2026-40929 Authorization bypass in go-vikunja Vikunja CVSS 4.0CRITICAL 9.3
- TI-2026-21967 Vijkunja has Weak Password Policy Combined with Persistent Sessions After Password Change CVSS 3.1CRITICAL 9.1
- TI-2026-62115 Vikunja before 2.6.0 Privilege Escalation via Link Share Hash CVSS 4.0HIGH 8.7
- TI-2026-62108 Vikunja before 2.6.0 Authentication Bypass via CalDAV BasicAuth CVSS 4.0HIGH 8.7
- TI-2026-62107 Vikunja before 2.6.0 Authentication Bypass via Unthrottled API CVSS 4.0HIGH 8.7
- TI-2026-26971 Vikunja ahs a TOTP Two-Factor Authentication Bypass via OIDC Login Path CVSS 3.1CRITICAL 9.1
Sources
- CVE-2026-91982 · CVE Program
- CVE-2026-91982 · NVD
- FIRST EPSS
- GHSA-88f6-4rjv-x774 · GitHub Advisory Database · CC BY 4.0
- GHSA-jmr8-r558-3jhx · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences