HIGH 7.5 GitHub
CVE-2026-76216
Vikunja: Link-share principal-type confusion enables cross-account team removal, bot takeover, and roster disclosure
## Summary
Vikunja's `web.Auth` interface (`pkg/web/web.go`, single method `GetID() int64`) is satisfied by BOTH `*user.User` and `*models.LinkSharing`. A link-share's `GetID()` returns the **raw positive** `share.ID` (`pkg/models/link_sharing.go:83-85`), which lives in the same positive autoincrement ID space as `users.id`. The safe negated form `getUserID() = share.ID * -1` (`link_sharing.go:126-128`) exists but is NOT used at three permission sinks. As a result, a link-share principal with id
Affected Products
- go/code.vikunja.io/api <= 2.4.0
References
- https://github.com/advisories/GHSA-32r8-5843-4qw2
- https://github.com/go-vikunja/vikunja/security/advisories/GHSA-32r8-5843-4qw2
- https://nvd.nist.gov/vuln/detail/CVE-2026-76216
- https://www.vulncheck.com/advisories/vikunja-through-principal-type-confusion-via-linkshar
This high severity vulnerability with a CVSS score of 7.5 was published on 2026-10-09 via GitHub. Affected: go/code.vikunja.io/api <= 2.4.0.
vulnfeed aggregates 13827 vulnerabilities from NVD, CISA KEV,
Ubuntu, Debian, Red Hat, Kubernetes, Exploit-DB, OSS-Security, GitHub and OpenStack — updated every 4 hours.