Vikunja — это автономная платформа управления задачами с открытым исходным кодом. С версий 2.3.0 до 2.4.0 пользователь с разрешением на запись, но не администратором общего дочернего проекта, может отсоединить его от родительской иерархии, отправив родительский_проект_id, равный 0, в POST /api/v1/projects/{project}. Проверка авторизации Project.CanUpdate в pkg/models/project_permissions.go и логика UpdateProject в pkg/models/project.go пропускают только ненулевые родительские значения, тогда как UpdateProject всегда сохраняет родительский_project_id, поэтому явное нулевое значение обходит требование администратора, введенное для CVE-2026-35595.
Отсоединение разрывает рекурсивную цепочку наследования разрешений и может нарушить иерархию владельца и унаследованный доступ соавторов. Эта проблема исправлена в версии 2.4.0.
Показать оригинальное описание (EN)
Vikunja is an open-source self-hosted task management platform. From 2.3.0 until 2.4.0, a user with Write but not Admin permission on a shared child project can detach it from its parent hierarchy by submitting parent_project_id equal to 0 to POST /api/v1/projects/{project}. The Project.CanUpdate authorization check in pkg/models/project_permissions.go and UpdateProject logic in pkg/models/project.go only gate nonzero parent values, while UpdateProject always persists parent_project_id, so the explicit zero value bypasses the Admin requirement introduced for CVE-2026-35595. Detachment severs the recursive permission-inheritance chain and can disrupt the owner’s hierarchy and inherited collaborator access. This issue is fixed in version 2.4.0.
Характеристики атаки
Последствия
Строка CVSS v3.1