Advisory Database
  • Advisories
  • Dependency Scanning
  1. golang
  2. ›
  3. code.vikunja.io/api
  4. ›
  5. GHSA-4hv6-xc92-j86g

GHSA-4hv6-xc92-j86g: Vikunja: WebSocket authentication ignores server-side session state, so revoked sessions keep receiving live pushes

October 9, 2026

Vikunja v2.6.0 introduced server-side sessions with revocation semantics: DELETE /api/v2/user/sessions/{id} documents “Revokes a specific session by its UUID”, and enabling TOTP calls DeleteAllUserSessions to invalidate all sessions. The WebSocket endpoint accepts any cryptographically valid user JWT without ever resolving its sid (session id) claim against the sessions table. A connection authenticated before revocation stays authenticated and continues to receive live pushes indefinitely, and even brand-new WebSocket connections are accepted with a token whose session was deleted. The revocation feature therefore does not cover the WebSocket boundary at all.

References

  • github.com/advisories/GHSA-4hv6-xc92-j86g
  • github.com/go-vikunja/vikunja/security/advisories/GHSA-4hv6-xc92-j86g

Code Behaviors & Features

Detect and mitigate GHSA-4hv6-xc92-j86g with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →

Affected versions

All versions starting from 2.3.0 up to 2.6.0

Solution

Unfortunately, there is no solution available yet.

Impact 6.5 MEDIUM

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N

Learn more about CVSS

Weakness

  • CWE-613: Insufficient Session Expiration

Source file

go/code.vikunja.io/api/GHSA-4hv6-xc92-j86g.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Sat, 10 Oct 2026 12:18:35 +0000.