CVE-2026-35595
Published:April 10, 2026
Updated:April 20, 2026
Vikunja is an open-source self-hosted task management platform. Prior to 2.3.0, the CanUpdate check at pkg/models/project_permissions.go:139-148 only requires CanWrite on the new parent project when changing parent_project_id. However, Vikunja's permission model uses a recursive CTE that walks up the project hierarchy to compute permissions. Moving a project under a different parent changes the permission inheritance chain. When a user has inherited Write access (from a parent project share) and reparents the child project under their own project tree, the CTE resolves their ownership of the new parent as Admin (permission level 2) on the moved project. This vulnerability is fixed in 2.3.0.
Affected Packages
https://github.com/go-vikunja/vikunja.git (GITHUB):
Affected version(s) >=v0.1 <v2.3.0Fix Suggestion:
Update to version v2.3.0code.vikunja.io/api (GO):
Affected version(s) >=v0.13.1 <v2.3.0Fix Suggestion:
Update to version v2.3.0github.com/go-vikunja/vikunja (GO):
Affected version(s) >=v0.1 <v2.3.0Fix Suggestion:
Update to version v2.3.0Related ResourcesĀ (6)
Do you need more information?
Contact UsCVSS v4
Base Score:
8.7
Attack Vector
NETWORK
Attack Complexity
LOW
Attack Requirements
NONE
Privileges Required
LOW
User Interaction
NONE
Vulnerable System Confidentiality
HIGH
Vulnerable System Integrity
HIGH
Vulnerable System Availability
LOW
Subsequent System Confidentiality
NONE
Subsequent System Integrity
NONE
Subsequent System Availability
NONE
CVSS v3
Base Score:
8.3
Attack Vector
NETWORK
Attack Complexity
LOW
Privileges Required
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
HIGH
Integrity
HIGH
Availability
LOW
Weakness Type (CWE)
Improper Privilege Management
EPSS
Base Score:
0.03