Skip to content
OpenAdvisories
High · 8.1 CVE-2026-33678 EUVD-2026-14921GHSA-jfmm-mjcp-8wq2GO-2026-4853

Vikunja has IDOR in Task Attachment ReadOne Allows Cross-Project File Access and Deletion

Published Mar 24, 2026 · Updated Mar 24, 2026 · Assigned by GitHub_M

Description

Vikunja is an open-source self-hosted task management platform. Prior to version 2.2.1, `TaskAttachment.ReadOne()` queries attachments by ID only (`WHERE id = ?`), ignoring the task ID from the URL path. The permission check in `CanRead()` validates access to the task specified in the URL, but `ReadOne()` loads a different attachment that may belong to a task in another project. This allows any authenticated user to download or delete any attachment in the system by providing their own accessible task ID with a target attachment ID. Attachment IDs are sequential integers, making enumeration trivial. Version 2.2.1 patches the issue.

Affected products

VendorProductAffectedFixed
go-vikunja vikunja < 2.2.1 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
openSUSE Leap 16.0 govulncheck-vulndb 0.0.20260723T184607-160000.1.1 openSUSE-SU-2026:21483-1
openSUSE Leap 15.6 govulncheck-vulndb 0.0.20260326T203309-150000.1.155.2 SUSE-SU-2026:1135-1

Affected packages

EcosystemPackageAffectedFixedRecord
Go code.vikunja.io/api < 2.2.1 2.2.1 GHSA-jfmm-mjcp-8wq2
Go code.vikunja.io/api all versions — GO-2026-4853

Advisories 2

References