Read the docs

Vikunja before 2.6.0 TOTP Secret Disclosure via API

Priority MEDIUM 57CWE-522Published · Updated

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

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00346 28th percentileScored 2026-11-07
Fix Fixed vikunja (go-vikunja): 2.6.0code.vikunja.io/api (Go): 2.6.0

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

VendorProductAffected versionsFixed inStatusSource
go-vikunjavikunjabefore 2.6.02.6.0Patch availableCNA
—code.vikunja.io/api (Go)before 2.6.02.6.0Patch availableGHSA-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.

CPEVersionsRoleVendor
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

  1. 2026-10-02 Threatist record created from CVE-2026-91982
  2. 2026-10-03 Alias added: GHSA-jmr8-r558-3jhx
  3. 2026-10-10 Alias added: GHSA-88f6-4rjv-x774
  4. 2026-10-10 Fix available: Go/code.vikunja.io/[email protected] · GHSA-88f6-4rjv-x774
  5. 2026-10-10 CVSS score added · GHSA-88f6-4rjv-x774
  6. 2026-10-10 Weakness changed · GHSA-88f6-4rjv-x774
  7. 2026-10-10 5 new references · GHSA-88f6-4rjv-x774

References

  • 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
See all 105 →

Sources