Vikunja has IDOR in Task Attachment ReadOne Allows Cross-Project File Access and Deletion
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.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
code.vikunja.io/apiGo | < 2.2.1 | 2.2.1 |
Affected products
3- ghsa-coords2 versions
< 2.2.1+ 1 more
- (no CPE)range: < 2.2.1
- (no CPE)range: < 0.0.20260326T203309-150000.1.155.2
- go-vikunja/vikunjav5Range: < 2.2.1
Patches
Vulnerability mechanics
References
4- github.com/advisories/GHSA-jfmm-mjcp-8wq2ghsaADVISORY
- nvd.nist.gov/vuln/detail/CVE-2026-33678ghsaADVISORY
- github.com/go-vikunja/vikunja/security/advisories/GHSA-jfmm-mjcp-8wq2ghsax_refsource_CONFIRMWEB
- vikunja.io/changelog/vikunja-v2.2.2-was-releasedghsax_refsource_MISCWEB
News mentions
0No linked articles in our index yet.