# CVE-2026-123513: Vikunja credential exposure via API URL change

Source: https://junglewise.ai/threats/cve-2026-123513-vikunja-before-2-7-1-contains-a-credential-exposure  
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-123513 · Severity: medium · CVSS 6.8 · Published 2026-11-08

Vikunja is a task and project management application that stores authentication tokens in the browser. If an attacker tricks a user into changing the API URL setting to an attacker-controlled server through phishing or social engineering, the application sends the user's stored authentication tokens to that server, allowing the attacker to take over the victim's account and access all their data and tasks.

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

## Quick answers

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

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

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

**Is there a fix for CVE-2026-123513?** Yes: fixed in 2.7.1. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

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

**Am I affected by CVE-2026-123513?** 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

## Technical details

The vulnerability exists in the checkAndSetApiUrl function which switches the API base URL but fails to clear cached authentication tokens from localStorage. The tokens are stored with origin-independent keys, so when the API base is changed, subsequent authenticated API calls (including the initial checkAuth probe) transmit the bearer token and desktop OAuth refresh token to the attacker-controlled server. The attack requires user interaction to accept the new API URL but results in full account compromise.

## 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-rj93-wmch-2crq](https://github.com/go-vikunja/vikunja/security/advisories/GHSA-rj93-wmch-2crq)
- [https://www.vulncheck.com/advisories/vikunja-before-2.7.1-auth-token-leak-via-api-url-change](https://www.vulncheck.com/advisories/vikunja-before-2.7.1-auth-token-leak-via-api-url-change)

## 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)
