CVE-2026-27616 Vikunja Vulnerable to Stored Cross-Site Scripting (XSS) via Unsanitized SVG Attachment Upload Leading to Token Exposure
Attackers can execute arbitrary JavaScript via unsanitized SVG uploads to steal authentication tokens from localStorage, leading to account takeover.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2026-27616?
CVE-2026-27616 is a high-severity cross-site scripting vulnerability in go-vikunja vikunja, published on 25 Feb 2026. Any signed-in user can exploit it over the network, and only if a user opens a file or follows a link.
Official description
Vikunja is an open-source self-hosted task management platform. Prior to version 2.0.0, the application allows users to upload SVG files as task attachments. SVG is an XML-based format that supports JavaScript execution through elements such as <script> tags or event handlers like onload. The application does not sanitize SVG content before storing it. When the uploaded SVG file is accessed via its direct URL, it is rendered inline in the browser under the application's origin. As a result, embedded JavaScript executes in the context of the authenticated user. Because the authentication token is stored in localStorage, it is accessible via JavaScript and can be retrieved by a malicious payload. Version 2.0.0 patches this issue.
Weakness: CWE-79
Which versions are affected by CVE-2026-27616?
3 open source packages ship an affected version, including code.vikunja.io/api. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
code.vikunja.io/api Go | All versions | None |
code.vikunja.io/api Go | All versions to 0.24.6 | None |
code.vikunja.io/api Go | All versions to 0.24.6 | None |
Products include Vikunja Vikunja.
How do I fix CVE-2026-27616?
Upgrade to a fixed version.
Escape output for the context it lands in and set a strict Content Security Policy. Upgrading the affected component is the real fix. More about Cross-site scripting.
Is CVE-2026-27616 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-27616 exists.
Other vulnerabilities in go-vikunja vikunja
- CVE-2026-28268 Vikunja Vulnerable to Account Takeover via Password Reset Token Reuse
- CVE-2026-27575 Vijkunja has Weak Password Policy Combined with Persistent Sessions After Password Change
- CVE-2026-25935 Vikunja Affected by XSS Via Task Preview
- CVE-2026-35595 Vikunja Affected by Privilege Escalation via Project Reparenting
- CVE-2026-33316 Vikunja’s Improper Access Control Enables Bypass of Administrator-Imposed Account Disablement
Sources
Also known as GHSA-7jp5-298q-jg98, GO-2026-4553.