CVE-2026-33678
Vikunja has IDOR in Task Attachment ReadOne Allows Cross-Project File Access and Deletion
Reported by github_m · Published March 24, 2026
code.vikunja.io/api is fixed in 2.2.1 (Go Modules)
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.
Fixed versions
Upgrade to a fixed version or later. Language registries are listed first, then Linux distributions, then vendor products.
| Package | Ecosystem | Fixed in |
|---|---|---|
| code.vikunja.io/api | Go Modules | 2.2.1 |
| vikunja | vikunja | 2.2.1 |
Risk scores
Affected products
| Vendor | Product | Versions |
|---|---|---|
| go-vikunja | vikunja | < 2.2.1 |
| code.vikunja.io | api | 0 |
| go-vikunja | vikunja | 0 |
Timeline
- Mar 23, 2026 PoC Published (4 in total, the first dated here)
- Mar 24, 2026 CVE Published
- Mar 24, 2026 CVE Updated
- Mar 25, 2026 EPSS Score (30 in total, the first dated here)
- Mar 25, 2026 Coalition ESS Score (2 in total, the first dated here)
- Mar 26, 2026 Security Advisory
Query this with the API
The same record, from the CLI:
vulnetix vdb vuln CVE-2026-33678
vulnetix vdb fixes CVE-2026-33678
Or with curl, using the org id and key from your account page:
curl -s -H "Authorization: ApiKey ${VULNETIX_ORG_ID}:${VULNETIX_API_KEY}" \
"https://api.vdb.vulnetix.com/v2/vuln/CVE-2026-33678/fixes/registry"
The Community plan is free and allows 50 queries a day. Get a free API key · API quickstart
References
- https://github.com/go-vikunja/vikunja/security/advisories/GHSA-jfmm-mjcp-8wq2 x_refsource_CONFIRM
- https://vikunja.io/changelog/vikunja-v2.2.2-was-released x_refsource_MISC
- https://nvd.nist.gov/vuln/detail/CVE-2026-33678 advisory
- https://github.com/advisories/GHSA-jfmm-mjcp-8wq2 advisory
- https://github.com/go-vikunja/vikunja url