CVE-2026-91982: Vikunja before 2.6.0 TOTP Secret Disclosure via API

Published Sep 15, 2026
·
Updated

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 Software

1 affected component
Vikunja<2.6.0

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade Vikunja to a version that resolves this vulnerability.

    Fixed in 2.6.0
  2. Compensating control

    Ensure access to GET /api/v1/user/settings/totp and /api/v1/user/settings/totp/qrcode requires re-authentication so attackers with a valid access token cannot retrieve the raw TOTP shared secret after enrollment.

Event History

Sep 15, 2026
CVE Published
via MITRE·03:18 PM
Data Sourced
via MITRE·03:18 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

What access does an attacker need to exploit this issue?

An attacker needs a valid Vikunja access token for the targeted account. The affected API endpoints expose the enrolled TOTP shared secret without requiring re-authentication.

2

Which accounts are exposed?

Accounts with TOTP already enrolled on Vikunja versions before 2.6.0 are exposed if an attacker obtains a valid access token for that account. The disclosed secret can be imported into another authenticator to generate valid TOTP codes indefinitely.

3

How can I determine whether my deployment is affected?

Check the deployed Vikunja version. Versions before 2.6.0 are affected; the relevant endpoints are GET /api/v1/user/settings/totp and GET /api/v1/user/settings/totp/qrcode.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203