Vulnerability · Published Aug 2, 2026 · Assigned by VulnCheck
CVE-2026-68582Vikunja 0.24.0 Broken Object Level Authorization via Link-Share Token
Medium 6.5
In plain English
A medium-severity authorization bypass via user-controlled key in vikunja from go-vikunja. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 0.3% (higher than 26% of all known vulnerabilities). Ready-made attack tooling exists: public proof-of-concept code. Fixed versions are available - upgrade the affected package.
Official description
Vikunja versions >= 0.24.0 and <= 2.3.0 contain a broken object level authorization (BOLA) vulnerability in the task-collection endpoint (GET /api/v1/projects/{project}/views/{view}/tasks). The endpoint loads the requested project view from the URL path without verifying the caller is authorized for it. For a link-share token holder, the task scope is pinned to the share's own project, but the view is taken from the attacker-controlled path and never re-validated. As a result, a holder of any project share link can read any other tenant's kanban bucket records — bucket titles and the full created_by user object (username, name, id) — for every view in the instance. The same missing pre-authorization view load also creates a project/view-ID existence oracle (404 vs. non-404) usable by link shares and ordinary authenticated users. Task contents remain constrained to the share's own project and are not disclosed. Fixed in 2.4.0.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| Go | code.vikunja.io/api | 2.4.0 | GHSA-rj9j-8772-4h6c |
| Go | code.vikunja.io/api | no fix listed | GO-2026-6749 |
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| go-vikunja | vikunja | 0.24.0 – before 2.4.0 |
Weakness: CWE-639 · Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
References
- GitHub Security Advisory (GHSA-rj9j-8772-4h6c) vendor-advisory
- VulnCheck Advisory: Vikunja 0.24.0 Broken Object Level Authorization via Link-Share Token third-party-advisory