{"affected":[{"defaultStatus":"unaffected","ecosystem":"golang","packageName":"code.vikunja.io/api","product":"vikunja","source":"CNA: VulnCheck","vendor":"go-vikunja","versions":[{"lessThan":"2.7.1","status":"affected","version":"0","versionType":"semver"},{"status":"unaffected","version":"2.7.1","versionType":"semver"}]}],"cveId":"CVE-2026-123528","cwes":["CWE-613"],"description":"Vikunja before 2.7.1 contains an insufficient session expiration vulnerability that allows holders of revoked access tokens to keep authenticating because SetupTokenMiddleware skips session and account-status checks. Attackers with a stolen token can, after logout, password reset, or account disabling, mint OAuth sessions via /oauth/authorize or tk_ API tokens for persistent access.","epss":{"date":"2026-11-12","percentile":0.14178,"score":0.00232},"exploits":[{"kind":"exploit","source":"ADP: CISA-ADP","url":"https://github.com/go-vikunja/vikunja/security/advisories/GHSA-4qvp-948j-4cgv"}],"kev":null,"metrics":[{"score":7.6,"severity":"high","source":"CNA: VulnCheck","vector":"CVSS:4.0/AV:N/AC:H/AT:P/PR:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N","version":"4.0"},{"score":6.8,"severity":"medium","source":"CNA: VulnCheck","vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N","version":"3.1"},{"score":7.6,"severity":"high","source":"NVD: disclosure@vulncheck.com","vector":"CVSS:4.0/AV:N/AC:H/AT:P/PR:L/UI:N/VC:H/VI:H/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","version":"4.0"},{"score":6.8,"severity":"medium","source":"NVD: disclosure@vulncheck.com","vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N","version":"3.1"}],"modifiedAt":1794505829291,"publishedAt":1794101856960,"references":[{"source":"CNA: VulnCheck","tags":["vendor-advisory"],"url":"https://github.com/go-vikunja/vikunja/security/advisories/GHSA-4qvp-948j-4cgv"},{"source":"CNA: VulnCheck","tags":["third-party-advisory"],"url":"https://www.vulncheck.com/advisories/vikunja-before-2.7.1-insufficient-session-expiration-via-http-token-middleware"},{"source":"ADP: CISA-ADP","tags":["exploit"],"url":"https://github.com/go-vikunja/vikunja/security/advisories/GHSA-4qvp-948j-4cgv"},{"source":"disclosure@vulncheck.com","tags":[],"url":"https://github.com/go-vikunja/vikunja/security/advisories/GHSA-4qvp-948j-4cgv"},{"source":"disclosure@vulncheck.com","tags":[],"url":"https://www.vulncheck.com/advisories/vikunja-before-2.7.1-insufficient-session-expiration-via-http-token-middleware"}],"remediation":[],"revision":"0a39fb281a0542acdbab60c7a703cb3618c8097527f9fe08e9a18dd3b1289720","sources":[{"modifiedAt":1794505829291,"name":"CNA: VulnCheck","retrievedAt":1794506962004,"url":"https://www.cve.org/CVERecord?id=CVE-2026-123528"},{"modifiedAt":1794104202780,"name":"NVD","retrievedAt":1794118569370,"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-123528"},{"modifiedAt":null,"name":"FIRST EPSS","retrievedAt":1794506986062,"url":"https://api.first.org/data/v1/epss?cve=CVE-2026-123528"}],"ssvc":{"assessedAt":1794505796976,"automatable":"no","exploitation":"poc","source":"ADP: CISA-ADP","technicalImpact":"total"},"status":"published","title":"Vikunja before 2.7.1 Insufficient Session Expiration via HTTP Token Middleware","updatedAt":1794506986062}