NetSight
high7.1

CVE-2026-55066

Vikunja has cross-tenant IDOR in kanban move-task endpoint via unauthorized body task_id

Impact

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.

Affected packages

EcosystemPackageAffectedFixed in
gocode.vikunja.io/api<= 2.3.02.4.0

Weakness classification

References