---
id: "CVE-2026-57458"
kind: "vulnerability"
aliases: ["CVE-2026-57458", "GHSA-v3p6-34mc-hj7v", "GO-2026-6750"]
title: "Vikunja: Scoped API token can mint unrestricted OAuth session credentials in code.vikunja.io/api"
severity: "high"
cvss: 8.1
epss: 0.00265
exploited: false
status: "open"
category: "package"
products: [{"name": "code.vikunja.io/api", "fixed": [], "affected": "all versions", "ecosystem": "go"}]
ecosystems: ["go"]
tags: ["go", "package", "self-hosted", "vikunja"]
not_affected_if: ["managed-hosting", "no-scoped-api-tokens", "not-on-2.3.0"]
published_at: "2026-10-09T21:17:05+00:00"
first_seen_at: "2026-10-23T19:13:08+00:00"
updated_at: "2026-10-23T19:52:48+00:00"
sources: [{"source": "govuln", "url": "https://pkg.go.dev/vuln/GO-2026-6750", "first_seen_at": "2026-10-23T19:13:08+00:00"}, {"source": "epss", "url": "https://api.first.org/data/v1/epss?cve=CVE-2026-57458", "first_seen_at": "2026-10-23T19:13:43+00:00"}, {"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-57458", "first_seen_at": "2026-10-23T19:35:23+00:00"}]
---

# Vikunja: Scoped API token can mint unrestricted OAuth session credentials in code.vikunja.io/api

Vikunja, a self-hosted task manager, lets an API token scoped only to oauth.authorize exchange it for a full bearer JWT and refresh token. Those credentials are not limited by the token's scope, so an attacker with the scoped token can reach any route the same user can access.

_Summary, check and fix written by a model from the sources; labelled as such._

## Affected

- go:code.vikunja.io/api affected all versions fixed ?

## How to check

Check the deployed Vikunja version (2.3.0 is affected; the fix ships in 2.4.0), and list API tokens for any scoped to oauth.authorize.

## Fix

Upgrade the code.vikunja.io/api module and Vikunja server to 2.4.0 or later.
Revoke API tokens that carry the oauth.authorize scope until upgraded.

## Timeline

- 2026-10-23T19:13:08+00:00 govuln https://pkg.go.dev/vuln/GO-2026-6750
- 2026-10-23T19:13:43+00:00 epss https://api.first.org/data/v1/epss?cve=CVE-2026-57458
- 2026-10-23T19:35:23+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-57458

## From the sources

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.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
