Read the docs

Vikunja WebSocket Authentication Ignores Session Revocation

Priority MEDIUM 64CWE-613Published · Updated

Key facts

Attack vector
Network
Privileges required
Low
User interaction
None
Attack complexity
Low
Attack requirements
None
Impact type
Security bypass
Confidentiality · integrity · availability
High · None · None
Fix status
Fixed

Attack profile from CVSS 4.0 · CNA. Fix status from CNA. Impact type from CWE-613.

Summary

Vikunja from 2.3.0 before 2.7.0 does not validate sessions for WebSocket connections, so revoked sessions keep access. The authentication handler never checks the JWT sid claim against the sessions table (CWE-613). An attacker holding a stolen access token can open or keep connections to the WebSocket endpoint after the session is deleted or TOTP is enrolled, and keep receiving the victim's notifications, including comment, task and project content. The attack requires low privileges (PR:L) in addition to the stolen token.

Written with Claude Haiku 5.5 from the sources below · 2026-10-28

Description from the CNA

Vikunja 2.3.0 before 2.7.0 contains an improper session validation vulnerability that allows attackers to keep WebSocket access after revocation because handleAuth never checks the JWT sid claim against the sessions table. Attackers holding a stolen access token can open or maintain connections to /api/v2/ws after session deletion or TOTP enrollment, continuing to receive the victim's notification.created pushes, including comment, task and project content.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00355 29th percentileScored 2026-11-07
Fix Fixed vikunja (go-vikunja): 2.7.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-vikunjavikunja2.3.0 to before 2.7.02.7.0Patch availableCNA
  • vikunja Vendorgo-vikunja Affected 2.3.0 to before 2.7.0 Fixed in 2.7.0 Patch available CNA

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

Upgrade go-vikunja vikunja to 2.7.0. The sources list no fixed version for other branches.

Written with Claude Haiku 5.5 from the sources below · 2026-10-28

  • Fix · CNA vikunja (go-vikunja) Fixed in 2.7.0

Fixed in the same release

Records fixed by the same vendor advisory or release, as the CNA lists them.

  • Release ·

    go-vikunja vikunja 2.7.0

    5 records Highest priority Priority HIGH 1 HIGH, 3 MEDIUM, 1 LOW

    Other records, highest priority first

    • TI-2026-76128 Permissive CORS policy trusting localhost origins in VikunjaPriority HIGH 67
    • TI-2026-76125 Improper access revocation in Vikunja webhooks exposes project dataPriority MEDIUM 64
    • TI-2026-76127 Incorrect authorization in Vikunja link share deletionPriority MEDIUM 57

Timeline

  1. 2026-10-18 Threatist record created from CVE-2026-111917
  2. 2026-10-18 Alias added: GHSA-355w-rx9g-pww7
  3. 2026-10-18 Priority changed: MEDIUM → LOW
  4. 2026-10-19 CISA SSVC decision points changed
  5. 2026-10-19 Priority changed: LOW → MEDIUM

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