{"id":"CVE-2026-91981","kind":"vulnerability","aliases":["CVE-2026-91981","GHSA-vfxw-3x8p-2vjr","GO-2026-6752"],"related":[],"title":"Vikunja: Link-share token can enumerate users through the v2 API in code.vikunja.io/api","description":"Vikunja: Link-share token can enumerate users through the v2 API in code.vikunja.io/api.\n\nNOTE: The source advisory for this report contains additional versions that could not be automatically mapped to standard Go module versions.\n\n(If this is causing false-positive reports from vulnerability scanners, please suggest an edit to the report.)\n\nThe additional affected modules and versions are: code.vikunja.io/api before v2.6.0.","summary":"A Vikunja link-share token, which is meant to give access to a single shared project, can be used to enumerate user accounts through the v2 API. An attacker holding such a token can learn which users exist on the instance.","severity":"medium","cvss":5.3,"epss":0.00306,"exploited":false,"exploited_at":null,"products":[{"name":"code.vikunja.io/api","fixed":[],"affected":"all versions","ecosystem":"go"}],"ecosystems":["go"],"tags":["go","package","self-hosted","vikunja"],"not_affected_if":["default-config"],"how_to_check":"Check the Vikunja version in use: a Go build of code.vikunja.io/api before v2.6.0 is affected (go version -m on the binary or the go.mod require line).","fix":"Upgrade code.vikunja.io/api to v2.6.0 or later.","status":"open","published_at":"2026-09-15T16:17:55+00:00","first_seen_at":"2026-10-23T19:13:08+00:00","triaged_at":"2026-10-23T21:49:00+00:00","updated_at":"2026-10-23T21:49:00+00:00","category":"package","confidence":0.6,"triage":{"at":"2026-10-23T21:49:00Z","model":"claude-haiku-5-5","output":{"fix":"Upgrade code.vikunja.io/api to v2.6.0 or later.\nunknown","reach":"internet","impact":"low","summary":"A Vikunja link-share token, which is meant to give access to a single shared project, can be used to enumerate user accounts through the v2 API. An attacker holding such a token can learn which users exist on the instance.","category":"package","who_cares":["vikunja","self-hosted","go"],"confidence":0.6,"needs_auth":"yes","worst_case":"Attacker with a shared link token learns which user accounts exist.","analyst_note":"","how_to_check":"Check the Vikunja version in use: a Go build of code.vikunja.io/api before v2.6.0 is affected (go version -m on the binary or the go.mod require line).\nunknown","needs_analyst":false,"not_affected_if":["default-config"],"user_interaction":"no","needs_special_setup":"unknown","severity_if_unknown":"medium"},"cost_usd":0.00046,"input_tokens":2946,"output_tokens":331,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-2026':18A,26A,29A '-6752':27A '-91981':19A,30A '/api':16A,33A,146C '/api.':97C '2vjr':24A '3x8p':23A 'access':51B 'account':63B 'addit':106C,138C 'advisori':101C 'affect':139C 'api':12A,67B,93C 'attack':69B 'automat':112C 'caus':122C 'code.vikunja.io':15A,32A,96C,145C 'code.vikunja.io/api':14A,31A,144C 'code.vikunja.io/api.':95C 'contain':105C 'could':109C 'cve':17A,28A 'edit':133C 'enumer':7A,61B,88C 'exist':78B 'fals':124C 'false-posit':123C 'ghsa':21A 'ghsa-vfxw-3x8p-2vjr':20A 'give':50B 'go':25A,34B,116C 'hold':70B 'host':38B 'instanc':81B 'learn':75B 'link':3A,43B,84C 'link-shar':2A,42B,83C 'map':113C 'meant':48B 'modul':117C,140C 'note':98C 'packag':35B 'pleas':130C 'posit':125C 'project':56B 'report':104C,126C,136C 'scanner':129C 'self':37B 'self-host':36B 'share':4A,44B,55B,85C 'singl':54B 'sourc':100C 'standard':115C 'suggest':131C 'token':5A,45B,73B,86C 'use':59B 'user':8A,62B,77B,89C 'v2':11A,66B,92C 'v2.6.0':148C 'version':107C,118C,142C 'vfxw':22A 'vikunja':1A,39B,41B,82C 'vulner':128C","nicknames":[],"mitigations":[],"who_affected":null,"tier":null,"verified":{},"analyst_revisit_at":null,"first_public_at":"2026-09-15T16:17:55+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","cvss_by":"disclosure@vulncheck.com","poc_count":0,"sources":[{"source":"govuln","external_id":"GO-2026-6752","url":"https://pkg.go.dev/vuln/GO-2026-6752","severity":null,"published_at":"2026-10-19T21:08:26+00:00","modified_at":"2026-10-19T21:08:26+00:00","first_seen_at":"2026-10-23T19:13:08+00:00","fetched_at":"2026-10-23T19:13:08+00:00","note":null},{"source":"epss","external_id":"CVE-2026-91981","url":"https://api.first.org/data/v1/epss?cve=CVE-2026-91981","severity":null,"published_at":null,"modified_at":null,"first_seen_at":"2026-10-23T19:13:43+00:00","fetched_at":"2026-10-23T19:13:43+00:00","note":null},{"source":"nvd","external_id":"CVE-2026-91981","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-91981","severity":null,"published_at":"2026-09-15T16:17:55+00:00","modified_at":"2026-09-21T19:17:16+00:00","first_seen_at":"2026-10-23T19:35:23+00:00","fetched_at":"2026-10-23T19:35:23+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}