Description
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.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| go-vikunja | vikunja | < 2.6.0 | 2.6.0 |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| Go | code.vikunja.io/api | < 2.6.0 | 2.6.0 | GHSA-88f6-4rjv-x774 |
| Go | code.vikunja.io/api | all versions | — | GO-2026-6722 |
References
- GitHub Security Advisory (GHSA-88f6-4rjv-x774) vendor-advisory
- VulnCheck Advisory: Vikunja before 2.6.0 TOTP Secret Disclosure via API third-party-advisory