Vikunja: Project duplication bypasses write-permission check on the target parent project
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Attack requirements
- None
- Impact type
- Security bypass
- Confidentiality · integrity · availability
- None · Low · None
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA and GitHub. Impact type from CWE-285.
Summary
Vikunja is an open-source self-hosted task management platform. From 0.21.0 until 2.4.0, the project duplication operation in pkg/models/project_duplicate.go allows an authenticated user who can read a source project to place its duplicate beneath an arbitrary target parent project. ProjectDuplicate.CanCreate calls parent.CanCreate on an unhydrated Project containing only the body supplied parent_project_id instead of calling parent.CanWrite, so the target parent write-permission check is skipped. The ordinary project creation path enforces that permission, but PUT /api/v1/projects/{project}/duplicate does not, allowing attacker-owned content to be injected into another user or team project hierarchy. This issue is fixed in version 2.4.0.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| go-vikunja | vikunja | 0.21.0 to before 2.4.0 | 2.4.0 | Patch available | CNA |
| — | code.vikunja.io/api (Go) | 0.21.0 to before 2.4.0 | 2.4.0 | Patch available | GHSA-f27p-pw2p-9pr4 |
- vikunja Vendorgo-vikunja Affected 0.21.0 to before 2.4.0 Fixed in 2.4.0 Patch available CNA
- code.vikunja.io/api (Go) Vendor— Affected 0.21.0 to before 2.4.0 Fixed in 2.4.0 Patch available GHSA-f27p-pw2p-9pr4
CPE names Threatist (inferred) · 1
Inferred from how NVD named this product before; not given by a source.
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:vikunja:vikunja:*:*:*:*:*:*:*:* | — | — | go-vikunja |
- cpe:2.3:a:vikunja:vikunja:*:*:*:*:*:*:*:* Versions — — ·go-vikunja
Remediation
- Fix · CNA vikunja (go-vikunja) Fixed in 2.4.0
- Fix · GHSA-f27p-pw2p-9pr4 code.vikunja.io/api (Go) Fixed in 2.4.0 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-54766
- 2026-10-03 Alias added: GHSA-f27p-pw2p-9pr4
References
Other 5
- https://github.com/go-vikunja/vikunja/security/advisories/GHSA-f27p-pw2p-9pr4
- https://github.com/go-vikunja/vikunja/pull/3239
- https://github.com/go-vikunja/vikunja/commit/d911caaa11c748c3abc6b98b3189afea2677bcb0
- https://github.com/go-vikunja/vikunja/releases/tag/v2.4.0
- https://github.com/go-vikunja/vikunja
More go-vikunja vulnerabilities
- TI-2026-40929 Authorization bypass in go-vikunja Vikunja CVSS 4.0CRITICAL 9.3
- TI-2026-21967 Vijkunja has Weak Password Policy Combined with Persistent Sessions After Password Change CVSS 3.1CRITICAL 9.1
- TI-2026-62115 Vikunja before 2.6.0 Privilege Escalation via Link Share Hash CVSS 4.0HIGH 8.7
- TI-2026-62108 Vikunja before 2.6.0 Authentication Bypass via CalDAV BasicAuth CVSS 4.0HIGH 8.7
- TI-2026-62107 Vikunja before 2.6.0 Authentication Bypass via Unthrottled API CVSS 4.0HIGH 8.7
- TI-2026-26971 Vikunja ahs a TOTP Two-Factor Authentication Bypass via OIDC Login Path CVSS 3.1CRITICAL 9.1
Sources
- CVE-2026-54766 · CVE Program
- CVE-2026-54766 · NVD
- FIRST EPSS
- GHSA-f27p-pw2p-9pr4 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences