# CVE-2026-123521: Vikunja improper restriction of excessive authentication attempts

Source: https://junglewise.ai/threats/cve-2026-123521-vikunja-before-2-7-1-contains-an-improper-restriction-of  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-11-08. Updated: 2026-11-08  
License: CC BY 4.0 with a link back

CVE-2026-123521 · Severity: medium · CVSS 5.9 · Published 2026-11-08

Vikunja is a task and project management platform. An attacker with a stolen session token can repeatedly guess the user's password without any lockout or rate limiting, then use the correct password to disable two-factor authentication and take over the account permanently. This affects all Vikunja installations with default configuration (rate limiting disabled).

Technologies: [Vikunja](https://junglewise.ai/threats/technologies/vikunja). Vendors: [Vikunja](https://junglewise.ai/threats/vendors/vikunja).

## Quick answers

**Is CVE-2026-123521 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-123521 being exploited in the wild.

**How severe is CVE-2026-123521?** Medium severity, with a CVSS score of 5.9, published 8 November 2026.

**Which products and versions are affected?** Vikunja before 2.7.1.

**Is there a fix for CVE-2026-123521?** Yes: fixed in 2.7.1. Until then: Enable rate limiting (set ratelimit.enabled to true in default configuration) and require TOTP code validation for TOTP disable/enable operations until upgrading. Restrict network access to administrative and user settings endpoints where possible. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-123521 attacked?** It is attacked over the network, in a web application.

**Am I affected by CVE-2026-123521?** Check whether you run Vikunja at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- Fixed in 2.7.1

Enable rate limiting (set ratelimit.enabled to true in default configuration) and require TOTP code validation for TOTP disable/enable operations until upgrading. Restrict network access to administrative and user settings endpoints where possible.

## Technical details

The vulnerability exists in password re-authentication endpoints (/user/settings/totp/disable, account deletion, data export, password change, email change) that use an unthrottled bcrypt comparison with no failed-attempt counter or lockout mechanism. An authenticated attacker (holding a stolen JWT session) can brute-force the password silently and then disable TOTP using only the password, with no TOTP code required. The fix requires an always-on per-user failed-attempt limiter and mandatory TOTP code for disabling 2FA.

## Affected products

- Vikunja Vikunja before 2.7.1

## Timeline

- 2026-10-22: disclosed
- 2026-11-08: advisory

## References

- [https://github.com/go-vikunja/vikunja/security/advisories/GHSA-49pj-52x6-8gpj](https://github.com/go-vikunja/vikunja/security/advisories/GHSA-49pj-52x6-8gpj)
- [https://www.vulncheck.com/advisories/vikunja-before-2.7.1-password-brute-force-via-totp-disable-endpoint](https://www.vulncheck.com/advisories/vikunja-before-2.7.1-password-brute-force-via-totp-disable-endpoint)

## Related threats

- [Vikunja denial of service via pagination bypass in API v1](https://junglewise.ai/threats/cve-2026-123531-vikunja-from-1-0-0-before-2-7-1-contains-an-uncontrolled)
- [Vikunja missing authentication in TOTP enrollment](https://junglewise.ai/threats/cve-2026-123530-vikunja-before-2-7-1-contains-a-missing-authentication)
- [Vikunja stored CSS injection in rich-text table cells](https://junglewise.ai/threats/cve-2026-123529-vikunja-before-2-7-1-contains-a-stored-css-injection)
- [Vikunja insufficient session expiration in HTTP token middleware](https://junglewise.ai/threats/cve-2026-123528-vikunja-before-2-7-1-contains-an-insufficient-session-expiration)
- [Vikunja API token authorization bypass in v1/v2 collision](https://junglewise.ai/threats/cve-2026-123527-vikunja-from-2-4-0-before-2-7-1-contains-an-authorization-bypass)
