7.1 HIGH
- CVSS version (CVSS): 3.1
- Attack Vector (AV): Network (N)
- Attack Complexity (AC): Low (L)
- Privileges Required (PR): Low (L)
- User Interaction (UI): None (N)
- Scope (S): Unchanged (U)
- Confidentiality (C): High (H)
- Integrity (I): Low (L)
- Availability (A): None (N)
- Modified Attack Vector (MAV): Network (N)
- Modified Attack Complexity (MAC): Low (L)
- Modified Privileges Required (MPR): Low (L)
- Modified User Interaction (MUI): None (N)
- Modified Confidentiality (MC): High (H)
- Modified Scope (MS): Unchanged (U)
- Modified Integrity (MI): Low (L)
- Modified Availability (MA): None (N)
Activity log
- Created suggestion
Vikunja: Cross-tenant IDOR in kanban move-task endpoint via unauthorized body task_id
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.
References
-
https://github.com/go-vikunja/vikunja/security/advisories/GHSA-5pg6-m483-7vrg x_refsource_CONFIRM
-
https://github.com/go-vikunja/vikunja/pull/3239 x_refsource_MISC
-
https://github.com/go-vikunja/vikunja/releases/tag/v2.4.0 x_refsource_MISC
Affected products
- ==< 2.4.0
Matching in nixpkgs
pkgs.vikunja
Todo-app to organize your life
Package maintainers
-
@leona-ya Leona Maroni <nix@leona.is>
-
@adamcstephens Adam C. Stephens <happy.plan4249@valkor.net>