Vikunja 0.24.0 Broken Object Level Authorization via Link-Share Token
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Attack requirements
- None
- Impact type
- Security bypass
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA and GitHub. Impact type from CWE-639.
Summary
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.
Why it matters now
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
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| go-vikunja | vikunja | 0.24.0 to before 2.4.0 | 2.4.0 | Patch available | CNA |
| — | code.vikunja.io/api (Go) | 0.24.0 to before 2.4.0 | 2.4.0 | Patch available | GHSA-rj9j-8772-4h6c |
- vikunja Vendorgo-vikunja Affected 0.24.0 to before 2.4.0 Fixed in 2.4.0 Patch available CNA
- code.vikunja.io/api (Go) Vendor— Affected 0.24.0 to before 2.4.0 Fixed in 2.4.0 Patch available GHSA-rj9j-8772-4h6c
CPE names Threatist (inferred) · 1
Inferred from how NVD named this product before; not given by a source.
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| 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.4.0
- Fix · GHSA-rj9j-8772-4h6c code.vikunja.io/api (Go) Fixed in 2.4.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.4.0
2 records Highest priority Priority HIGH 2 HIGH
Other records, highest priority first
- TI-2026-48321 Vikunja 0.22.0 through 2.3.0 Authentication Bypass via Principal ID CollisionPriority HIGH 72
Timeline
- 2026-10-02 Threatist record created from CVE-2026-68582
- 2026-10-03 Alias added: GHSA-p4r4-8cxw-pjx7
- 2026-10-10 Alias added: GHSA-rj9j-8772-4h6c
- 2026-10-10 Fix available: Go/code.vikunja.io/[email protected] · GHSA-rj9j-8772-4h6c
- 2026-10-10 CVSS score added · GHSA-rj9j-8772-4h6c
- 2026-10-10 Weakness changed · GHSA-rj9j-8772-4h6c
- 2026-10-10 4 new references · GHSA-rj9j-8772-4h6c
References
More go-vikunja vulnerabilities
- 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
Sources
- CVE-2026-68582 · CVE Program
- CVE-2026-68582 · NVD
- FIRST EPSS
- GHSA-p4r4-8cxw-pjx7 · GitHub Advisory Database · CC BY 4.0
- GHSA-rj9j-8772-4h6c · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences