Vikunja: Cross-tenant IDOR in kanban move-task endpoint via unauthorized body task_id
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Security bypass
- Confidentiality · integrity · availability
- High · Low · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-639.
Summary
Vikunja is an open-source self-hosted task management platform. Prior to 2.4.0, POST /api/v1/projects/{project}/views/{view}/buckets/{bucket}/tasks accepts a body supplied task_id but TaskBucket.CanUpdate in pkg/models/kanban_task_bucket.go authorizes only the project, view, and bucket from the URL. updateTaskBucket then calls Task.ReadOne without a separate task permission check, returns the victim task contents, and can update the task done state when the attacker chooses a done bucket. Because task identifiers are global sequential values, an authenticated user can enumerate cross-tenant tasks and modify their completion metadata through both the v1 and v2 routes that share this model. This issue is fixed in version 2.4.0.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- 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 | before 2.4.0 | 2.4.0 | Patch available | CNA |
| — | code.vikunja.io/api (Go) | before 2.4.0 | 2.4.0 | Patch available | GHSA-5pg6-m483-7vrg |
- vikunja Vendorgo-vikunja Affected before 2.4.0 Fixed in 2.4.0 Patch available CNA
- code.vikunja.io/api (Go) Vendor— Affected before 2.4.0 Fixed in 2.4.0 Patch available GHSA-5pg6-m483-7vrg
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-5pg6-m483-7vrg code.vikunja.io/api (Go) Fixed in 2.4.0 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-55066
- 2026-10-03 Alias added: GHSA-5pg6-m483-7vrg
References
Other 5
- https://github.com/go-vikunja/vikunja/security/advisories/GHSA-5pg6-m483-7vrg
- https://github.com/go-vikunja/vikunja/pull/3239
- https://github.com/go-vikunja/vikunja/commit/36cdc2ce2be0b8ccc74227d178b92047d59cd65f
- https://github.com/go-vikunja/vikunja/releases/tag/v2.4.0
- https://github.com/go-vikunja/vikunja
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-55066 · CVE Program
- CVE-2026-55066 · NVD
- FIRST EPSS
- GHSA-5pg6-m483-7vrg · 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