CVE-2026-33678 Vikunja has IDOR in Task Attachment ReadOne Allows Cross-Project File Access and Deletion
Authenticated users can access or delete attachments from other projects by manipulating attachment IDs, bypassing task-level permission checks.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-33678?
CVE-2026-33678 is a high-severity missing authorization vulnerability in go-vikunja vikunja, published on 24 Mar 2026. Any signed-in user can exploit it over the network, with no action from the victim.
Official 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.
Weakness: CWE-639
Which versions are affected by CVE-2026-33678?
3 open source packages ship an affected version, including code.vikunja.io/api. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
code.vikunja.io/api Go | All versions | None |
code.vikunja.io/api Go | All versions | 2.2.1 |
code.vikunja.io/api Go | All versions | 2.2.1 |
Products include Vikunja Vikunja.
How do I fix CVE-2026-33678?
Upgrade code.vikunja.io/api to 2.2.1 or later.
Upgrade, and check permissions on every request on the server, not only in the interface. More about Missing authorization.
Is CVE-2026-33678 being exploited?
There is no known exploitation of CVE-2026-33678 in the wild and no public exploit code.
Other vulnerabilities in go-vikunja vikunja
- CVE-2026-28268 Vikunja Vulnerable to Account Takeover via Password Reset Token Reuse
- CVE-2026-27575 Vijkunja has Weak Password Policy Combined with Persistent Sessions After Password Change
- CVE-2026-25935 Vikunja Affected by XSS Via Task Preview
- CVE-2026-35595 Vikunja Affected by Privilege Escalation via Project Reparenting
- CVE-2026-33316 Vikunja’s Improper Access Control Enables Bypass of Administrator-Imposed Account Disablement
Sources
Also known as GHSA-jfmm-mjcp-8wq2, GO-2026-4853.