Advisory Database
  • Advisories
  • Dependency Scanning
  1. golang
  2. ›
  3. code.vikunja.io/api
  4. ›
  5. CVE-2026-91984

CVE-2026-91984: Vikunja: Cross-tenant task-position rows can be injected into arbitrary project views via the unvalidated project_view_id in the task position endpoint (v1 and v2)

October 9, 2026

The task-position endpoint authorizes only the task side of the write: TaskPosition.CanUpdate delegates to Task.CanUpdate (write access to the task’s own project) and the request body’s project_view_id is never validated to belong to the task’s project, nor is any access to that view required. Any authenticated user with a single writable task of their own can persist (task_id, project_view_id, position) rows into any other tenant’s project view (view IDs are small sequential integers and enumerable). Low position values (below MinPositionSpacing, 0.01) enter the recalculation branch, but RecalculateTaskPositions aborts on its own project read-access check before recalculating and the whole transaction rolls back, so no cross-tenant recalculation actually executes — only the plain row insert (position ≥ 0.01) persists. This is the same root-cause pattern as GHSA-569v-q83c-3j3g (kanban bucket relocation via project_view_id mass-assignment, fixed with a dual-side check for buckets in 2.4.0) surviving in the sibling position endpoint. Verified on Vikunja 2.5.0.

References

  • github.com/advisories/GHSA-w39f-h553-h2mx
  • github.com/go-vikunja/vikunja/commit/077dc4de79ce6f1ab59215a2c7bf9b30423685f2
  • github.com/go-vikunja/vikunja/pull/3688
  • github.com/go-vikunja/vikunja/releases/tag/v2.6.0
  • github.com/go-vikunja/vikunja/security/advisories/GHSA-w39f-h553-h2mx
  • nvd.nist.gov/vuln/detail/CVE-2026-91984
  • www.vulncheck.com/advisories/vikunja-before-2.6.0-broken-object-level-authorization-via-task-position

Code Behaviors & Features

Detect and mitigate CVE-2026-91984 with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →

Affected versions

All versions before 2.6.0

Fixed versions

  • 2.6.0

Solution

Upgrade to version 2.6.0 or above.

Impact 4.3 MEDIUM

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N

Learn more about CVSS

Weakness

  • CWE-639: Authorization Bypass Through User-Controlled Key
  • CWE-863: Incorrect Authorization

Source file

go/code.vikunja.io/api/CVE-2026-91984.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Sun, 08 Nov 2026 00:15:33 +0000.