{"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-123521","cwes":["CWE-307"],"description":"Vikunja before 2.7.1 contains an improper restriction of excessive authentication attempts vulnerability that allows session holders to brute-force account passwords via unthrottled re-authentication endpoints. Attackers with a stolen session can guess the password via /user/settings/totp/disable without lockout, then disable TOTP without a code for persistent account takeover.","epss":{"date":"2026-11-10","percentile":0.14751,"score":0.00236},"exploits":[],"kev":null,"metrics":[{"score":6,"severity":"medium","source":"CNA: VulnCheck","vector":"CVSS:4.0/AV:N/AC:H/AT:P/PR:L/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N","version":"4.0"},{"score":5.9,"severity":"medium","source":"CNA: VulnCheck","vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:L/A:N","version":"3.1"},{"score":6,"severity":"medium","source":"NVD: disclosure@vulncheck.com","vector":"CVSS:4.0/AV:N/AC:H/AT:P/PR:L/UI:N/VC:H/VI:L/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":5.9,"severity":"medium","source":"NVD: disclosure@vulncheck.com","vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:L/A:N","version":"3.1"}],"modifiedAt":1794333586065,"publishedAt":1794101851762,"references":[{"source":"CNA: VulnCheck","tags":["vendor-advisory"],"url":"https://github.com/go-vikunja/vikunja/security/advisories/GHSA-49pj-52x6-8gpj"},{"source":"CNA: VulnCheck","tags":["third-party-advisory"],"url":"https://www.vulncheck.com/advisories/vikunja-before-2.7.1-password-brute-force-via-totp-disable-endpoint"},{"source":"disclosure@vulncheck.com","tags":[],"url":"https://github.com/go-vikunja/vikunja/security/advisories/GHSA-49pj-52x6-8gpj"},{"source":"disclosure@vulncheck.com","tags":[],"url":"https://www.vulncheck.com/advisories/vikunja-before-2.7.1-password-brute-force-via-totp-disable-endpoint"}],"remediation":[],"revision":"e5454d91d93dd31ea60974238f833dde4598e4d8316cd7e4b3dc6a2b2d4e7d88","sources":[{"modifiedAt":1794333586065,"name":"CNA: VulnCheck","retrievedAt":1794334201549,"url":"https://www.cve.org/CVERecord?id=CVE-2026-123521"},{"modifiedAt":1794104201560,"name":"NVD","retrievedAt":1794118568274,"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-123521"},{"modifiedAt":null,"name":"FIRST EPSS","retrievedAt":1794334238296,"url":"https://api.first.org/data/v1/epss?cve=CVE-2026-123521"}],"ssvc":{"assessedAt":1794325301652,"automatable":"no","exploitation":"none","source":"ADP: CISA-ADP","technicalImpact":"partial"},"status":"published","title":"Vikunja before 2.7.1 Password Brute-Force via TOTP Disable Endpoint","updatedAt":1794334238296}