Description
Vikunja versions 0.22.0 through 2.3.0 fail to validate the principal type in API token management. Because user IDs and link-share IDs are independent numeric sequences and both resolve through a generic web.Auth.GetID() interface, a link-share JWT whose numeric ID equals a target user's ID is treated as that user by the /api/v1/tokens endpoints. An authenticated attacker can obtain a target's numeric user ID via authenticated user search, then create link shares on an attacker-writable project until the link-share sequence reaches that value, and use the resulting link-share JWT to list, create, and delete the target user's API tokens (including issuing a new token with attacker-chosen scopes under the target's permissions). Fixed in version 2.4.0.
Published: 2026-08-02
Score: 8.6 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Vikunja versions 0.22.0 through 2.3.0 lack validation for the principal type in API token management. Because the system treats user IDs and link‑share IDs as identical numeric sequences, a link‑share JWT whose numeric ID matches a target user's ID is recognized as that user. An attacker with the ability to create link shares can therefore generate an ID collision, obtain a token that appears to belong to the target user, and subsequently list, create, or delete that user’s API tokens, including issuing new tokens with the attacker’s chosen scopes under the target’s permissions. This flaw is a missing access control weakness identified as CWE‑863.

Affected Systems

Instances of Vikunja produced by go‑vikunja that run any version between 0.22.0 and 2.3.0 are vulnerable, regardless of deployment size or hosting environment.

Risk and Exploitability

The CVSS score of 8.6 classifies this flaw as high severity, indicating that exploitation can grant an attacker the full privileges of another user. No EPSS value is available, but the attack only requires a legitimate account with permission to search users and create link shares—common functions for many users—so the exploit is realistic. The vulnerability is not listed in the CISA KEV catalog, yet its high impact and the fact that it does not need remote code execution make it a serious risk for any affected deployment.

Generated by OpenCVE AI on August 4, 2026 at 11:06 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade to Vikunja version 2.4.0 or later where principal type validation is fixed
  • If an upgrade is not immediately possible, disable link‑share creation for regular users until the issue is resolved
  • Monitor API token creation logs for anomalous activity, such as tokens created by users whose IDs do not match the authenticated principal

Generated by OpenCVE AI on August 4, 2026 at 11:06 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 03 Aug 2026 15:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Sun, 02 Aug 2026 15:15:00 +0000

Type Values Removed Values Added
First Time appeared Go-vikunja
Go-vikunja vikunja
Vendors & Products Go-vikunja
Go-vikunja vikunja

Sun, 02 Aug 2026 12:45:00 +0000

Type Values Removed Values Added
Description Vikunja versions 0.22.0 through 2.3.0 fail to validate the principal type in API token management. Because user IDs and link-share IDs are independent numeric sequences and both resolve through a generic web.Auth.GetID() interface, a link-share JWT whose numeric ID equals a target user's ID is treated as that user by the /api/v1/tokens endpoints. An authenticated attacker can obtain a target's numeric user ID via authenticated user search, then create link shares on an attacker-writable project until the link-share sequence reaches that value, and use the resulting link-share JWT to list, create, and delete the target user's API tokens (including issuing a new token with attacker-chosen scopes under the target's permissions). Fixed in version 2.4.0.
Title Vikunja 0.22.0 through 2.3.0 Authentication Bypass via Principal ID Collision
First Time appeared Vikunja
Vikunja vikunja
Weaknesses CWE-863
CPEs cpe:2.3:a:vikunja:vikunja:*:*:*:*:*:*:*:*
Vendors & Products Vikunja
Vikunja vikunja
References
Metrics cvssV3_1

{'score': 8.1, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N'}

cvssV4_0

{'score': 8.6, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N'}


Subscriptions

Go-vikunja Vikunja
Vikunja Vikunja
cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-08-03T15:02:40.435Z

Reserved: 2026-07-31T11:56:29.760Z

Link: CVE-2026-68581

cve-icon Vulnrichment

Updated: 2026-08-03T15:02:15.505Z

cve-icon NVD

Status : Received

Published: 2026-08-02T13:16:54.087

Modified: 2026-08-03T16:16:31.163

Link: CVE-2026-68581

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-04T11:15:06Z

Weaknesses