CVE-2026-40103 json
Vikunja's Scoped API tokens with projects.background permission can delete project backgrounds
published 2026-04-10 6 mo ago modified 2026-10-26 13 d ago also EUVD-2026-21494 , GHSA-v479-vf79-mg83 , GO-2026-5650
- cvss
- 4.3
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.2%
- EPSS 0.2% chance of exploitation in 30 days, percentile 13%
- public exploits
- 0
- none known
Summary
Vikunja is an open-source self-hosted task management platform. Prior to 2.3.0, Vikunja's scoped API token enforcement for custom project background routes is method-confused. A token with only projects.background can successfully delete a project background, while a token with only projects.background_delete is rejected. This is a scoped-token authorization bypass. This vulnerability is fixed in 2.3.0.
Patch / fix
- go code.vikunja.io/api 2.3.0
- vikunja vikunja 2.3.0
- govulncheck-vulndb openSUSE Leap 16.0 0.0.20260723T184607-160000.1.1
opensuse advisories openSUSE-SU-2026:21483-1
- github.com/go-vikunja/vikunja@6a0f39b commit
- github.com/go-vikunja/vikunja#2584 pull request
- github.com/go-vikunja/vikunja/releases/tag/v2.3.0 release
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- partial
- Assessed
- 6 mo ago
Exploit prediction
0.23% chance of exploitation in the next 30 days, higher than 13% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/go-vikunja/vikunja/security/advisories/GHSA-v479-vf79-mg83 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 4.3 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N |
| GitHub | 3.1 | 5.4 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:L |
| NVD | 3.1 | 5.4 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:L |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| go | code.vikunja.io/api | <2.3.0 all versions |
2.3.0 |
Affected products
- go-vikunja vikunja
Classification
References
-
github.com
/go-vikunja/vikunja/pull/2584
web, issue-tracking
-
github.com
/go-vikunja/vikunja/commit/6a0f39b252a81fa4b19dc56dc889183acc9225ae
web, patch
-
github.com
/go-vikunja/vikunja/security/advisories/GHSA-v479-vf79-mg83
web, exploit, vendor-advisory, advisory
-
github.com
/go-vikunja/vikunja/releases/tag/v2.3.0
web, release-notes
-
nvd.nist.gov
/vuln/detail/CVE-2026-40103
advisory
-
github.com
/go-vikunja/vikunja
package
Sources
- CVE List CVE-2026-40103
- GitHub Advisory GHSA-v479-vf79-mg83
- NVD CVE-2026-40103
- OSV GO-2026-5650
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.