CVE-2026-57458 json
Vikunja: Scoped API token can mint unrestricted OAuth session credentials
published 2026-10-09 30 d ago modified 2026-10-19 20 d ago also GHSA-v3p6-34mc-hj7v , GO-2026-6750 , EUVD-2026-95991
- cvss
- 8.1
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.3%
- EPSS 0.3% chance of exploitation in 30 days, percentile 26%
- public exploits
- 0
- none known
Summary
Vikunja is an open-source self-hosted task management platform. In version 2.3.0, a scoped API token limited to the `oauth.authorize` permission can call `POST /api/v1/oauth/authorize`, obtain an OAuth authorization code, and exchange the code at `POST /api/v1/oauth/token` for a normal bearer JSON Web Token (JWT) and refresh token. The resulting credentials are not restricted by the original API token's permissions, allowing access to routes outside its declared scope for the same user. Version 2.4.0 fixes the vulnerability.
Patch / fix
- go code.vikunja.io/api 2.4.0
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- total
- Assessed
- 26 d ago
Exploit prediction
0.33% chance of exploitation in the next 30 days, higher than 26% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/go-vikunja/vikunja/security/advisories/GHSA-v3p6-34mc-hj7v referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 8.1 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N |
| GitHub | 3.1 | 8.1 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| go | code.vikunja.io/api | >=2.3.0, <2.4.0 all versions |
2.4.0 |
Affected products
- go-vikunja vikunja
Classification
- Weakness
-
- CWE-269 Improper Privilege Management
References
Sources
- CVE List CVE-2026-57458
- GitHub Advisory GHSA-v3p6-34mc-hj7v
- NVD CVE-2026-57458
- OSV GO-2026-6750
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.