{"id":"CVE-2026-91983","kind":"vulnerability","aliases":["CVE-2026-91983","GHSA-9rg3-v78m-26q8","GO-2026-6726"],"related":[],"title":"Vikunja: API token scopes bypassed via task expand parameter (comments, reactions, time entry counts) in code.vikunja.io/api","description":"Vikunja: API token scopes bypassed via task expand parameter (comments, reactions, time entry counts) 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 from v1.0.0 before v2.6.0.","summary":"Vikunja's task expand parameter returns comments, reactions and time entry counts without checking the API token's scopes. A token limited to some permissions can read that data anyway.","severity":"medium","cvss":5.3,"epss":0.00305,"exploited":false,"exploited_at":null,"products":[{"name":"code.vikunja.io/api","fixed":[],"affected":"all versions","ecosystem":"go"}],"ecosystems":["go"],"tags":["api-tokens","package","self-hosted","vikunja"],"not_affected_if":[],"how_to_check":"Check the code.vikunja.io/api version in go.mod or the running binary; anything from v1.0.0 up to but not including v2.6.0 is listed as affected.","fix":"Upgrade code.vikunja.io/api to v2.6.0 or later, as the affected range implies; confirm the fixed version at GO-2026-6726.\nRotate any API tokens with restricted scopes that may have been exposed.","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:03+00:00","updated_at":"2026-10-23T21:49:03+00:00","category":"package","confidence":0.6,"triage":{"at":"2026-10-23T21:49:03Z","model":"claude-haiku-5-5","output":{"fix":"Upgrade code.vikunja.io/api to v2.6.0 or later, as the affected range implies; confirm the fixed version at GO-2026-6726.\nRotate any API tokens with restricted scopes that may have been exposed.","reach":"unknown","impact":"low","summary":"Vikunja's task expand parameter returns comments, reactions and time entry counts without checking the API token's scopes. A token limited to some permissions can read that data anyway.","category":"package","who_cares":["vikunja","self-hosted","api-tokens"],"confidence":0.6,"needs_auth":"yes","worst_case":"Scoped API token reads comments and reactions beyond granted permissions","analyst_note":"Confirm the fixed version (the report says 'fixed ?') at https://pkg.go.dev/vuln/GO-2026-6726 and the GHSA-9rg3-v78m-26q8 advisory, since the version ranges conflict.","how_to_check":"Check the code.vikunja.io/api version in go.mod or the running binary; anything from v1.0.0 up to but not including v2.6.0 is listed as affected.\nunknown","needs_analyst":true,"not_affected_if":[],"user_interaction":"no","needs_special_setup":"unknown","severity_if_unknown":"unknown"},"cost_usd":0.000992,"input_tokens":2978,"output_tokens":1388,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-2026':20A,28A,31A '-6726':29A '-91983':21A,32A '/api':18A,35A,140C '/api.':91C '26q8':26A '9rg3':24A 'addit':100C,132C 'advisori':95C 'affect':133C 'anyway':73B 'api':2A,37B,59B,75C 'api-token':36B 'automat':106C 'bypass':5A,78C 'caus':116C 'check':57B 'code.vikunja.io':17A,34A,90C,139C 'code.vikunja.io/api':16A,33A,138C 'code.vikunja.io/api.':89C 'comment':10A,50B,83C 'contain':99C 'could':103C 'count':14A,55B,87C 'cve':19A,30A 'data':72B 'edit':127C 'entri':13A,54B,86C 'expand':8A,47B,81C 'fals':118C 'false-posit':117C 'ghsa':23A 'ghsa-9rg3-v78m-26q8':22A 'go':27A,110C 'host':42B 'limit':65B 'map':107C 'modul':111C,134C 'note':92C 'packag':39B 'paramet':9A,48B,82C 'permiss':68B 'pleas':124C 'posit':119C 'reaction':11A,51B,84C 'read':70B 'report':98C,120C,130C 'return':49B 'scanner':123C 'scope':4A,62B,77C 'self':41B 'self-host':40B 'sourc':94C 'standard':109C 'suggest':125C 'task':7A,46B,80C 'time':12A,53B,85C 'token':3A,38B,60B,64B,76C 'v1.0.0':142C 'v2.6.0':144C 'v78m':25A 'version':101C,112C,136C 'via':6A,79C 'vikunja':1A,43B,44B,74C 'vulner':122C 'without':56B","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-6726","url":"https://pkg.go.dev/vuln/GO-2026-6726","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-91983","url":"https://api.first.org/data/v1/epss?cve=CVE-2026-91983","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-91983","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-91983","severity":null,"published_at":"2026-09-15T16:17:55+00:00","modified_at":"2026-09-16T20:16:09+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"}