ZeroHour

CVE-2026-55065

niche

Authorization bypass in Vikunja enables cross-project Kanban data destruction

CVSS 3.1
8.1 high
EPSS
<1%p28
Published
()
Modified
AI analysis

Vikunja versions 0.24.6 until 2.4.0 fail to verify that the view identifier supplied to DELETE /api/v1/projects/:project/views/:view actually belongs to the project named in the request path, an authorization bypass (CWE-285/CWE-639). An authenticated user can therefore call the endpoint with their own (attacker-controlled) project identifier and a view ID from another project or tenant, and the permission check in ProjectView.CanDelete passes. Because the follow-up deletes of task_buckets and task_positions key only on project_view_id, the attacker wipes another project's Kanban bucket assignments and task ordering even though the scoped delete on the victim's project_views row affects no rows; the victim's view and tasks themselves remain intact. The impact is loss of integrity and availability of Kanban board data (high/high per CVSS) with no confidentiality impact, and it is most relevant to multi-user or multi-team Vikunja instances running affected versions. There is no known public proof-of-concept, the flaw is not in CISA KEV, and EPSS puts 30-day exploitation probability at only 0.3%, so no exploitation is currently known.

What to do: Upgrade Vikunja to version 2.4.0 or later, which fixes the cross-project view authorization flaw. Until patched, restrict DELETE access to the /api/v1/projects/.../views/... endpoints to trusted administrators, and review Kanban views (buckets and task ordering) for unexplained changes, since cross-project deletions leave the victim view and tasks seemingly intact. Audit API access logs for DELETE calls to project-view endpoints made with view IDs that do not match the path project.

Affected
Vikunja (open-source project) Vikunja self-hosted task management platform>= 0.24.6 and < 2.4.0 (fixed in 2.4.0)
Estimated exposure
nichelikely on the order of thousands of self-hosted instances (low-confidence estimate) — Vikunja is a niche self-hosted task tracker typically deployed as small-team instances, and no public install counts, download statistics, or internet-exposure scan data were available in the provided inputs, so this order-of-magnitude…

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description

Vikunja is an open-source self-hosted task management platform. From 0.24.6 until 2.4.0, DELETE /api/v1/projects/:project/views/:view permits an authenticated user to supply a view identifier from another project while authorizing only against an attacker-controlled project identifier. ProjectView.CanDelete in pkg/models/project_view_permissions.go does not establish that the view belongs to the path project, and ProjectView.Delete in pkg/models/project_view.go continues after the scoped project_views delete affects no rows. Its subsequent deletes select task_buckets and task_positions only by project_view_id, allowing cross-tenant destruction of Kanban assignments and ordering while leaving the victim view and tasks intact. This issue is fixed in version 2.4.0.

Weakness
CWE-285, CWE-639
Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H

In the news

No ingested article mentions this CVE yet.