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.
Published: 2026-02-25
Score: 7.3 High
EPSS: < 1% Very Low
KEV: No
Impact: Cross‑Site Scripting leading to authentication token theft
Action: Immediate Patch
AI Analysis

Impact

The vulnerability allows a user to upload an SVG file that contains executable JavaScript. Because the application stores the file without sanitization and serves it within the same origin, the code runs in the browser of any user who opens the attachment. The attacker can access the authentication token kept in localStorage and exfiltrate it, compromising the user’s account. This is a client‑side code execution flaw that directly harms confidentiality of user credentials and can be leveraged to impersonate the victim.

Affected Systems

The flaw exists in all Vikunja installations prior to version 2.0.0. Users of the open‑source self‑hosted task manager, regardless of operating system or deployment environment, are affected until the patch bundled in 2.0.0 or later is applied.

Risk and Exploitability

The CVSS score of 7.3 classifies the issue as a high‑severity flaw. While the EPSS score indicates a low probability of exploitation, the vulnerability is not presently listed in the CISA KEV catalog, which suggests no widespread active exploitation observed to date. Enabling attack requires the malicious SVG to be uploaded by a user with permission to add attachments, and for that or another user to open the file in a modern browser that will render the inline script. The attacker’s malicious payload can read the authentication token stored in localStorage and exfiltrate it, thereby compromising the victim’s account.

Generated by OpenCVE AI on April 18, 2026 at 10:32 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade to Vikunja version 2.0.0 or later to apply the vendor patch that sanitizes SVG uploads.
  • If an upgrade is not immediately possible, disable SVG file uploads in the application configuration or block the MIME type via the web server.
  • Configure a strict Content Security Policy that restricts inline scripts or the use of <script> elements in attachments, and consider setting the X-Content-Type-Options header to nosniff.

Generated by OpenCVE AI on April 18, 2026 at 10:32 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-7jp5-298q-jg98 Vikunja: Stored XSS via Unsanitized SVG Attachment Upload Leads to Token Exposure
History

Thu, 05 Mar 2026 16:45:00 +0000

Type Values Removed Values Added
First Time appeared Vikunja
Vikunja vikunja
CPEs cpe:2.3:a:vikunja:vikunja:*:*:*:*:*:*:*:*
Vendors & Products Vikunja
Vikunja vikunja

Fri, 27 Feb 2026 15:15:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Thu, 26 Feb 2026 13:30:00 +0000

Type Values Removed Values Added
First Time appeared Go-vikunja
Go-vikunja vikunja
Vendors & Products Go-vikunja
Go-vikunja vikunja

Wed, 25 Feb 2026 22:00:00 +0000

Type Values Removed Values Added
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.
Title Vikunja Vulnerable to Stored Cross-Site Scripting (XSS) via Unsanitized SVG Attachment Upload Leading to Token Exposure
Weaknesses CWE-79
References
Metrics cvssV3_1

{'score': 7.3, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:N'}


Subscriptions

Go-vikunja Vikunja
Vikunja Vikunja
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-02-26T20:38:41.085Z

Reserved: 2026-02-20T19:43:14.603Z

Link: CVE-2026-27616

cve-icon Vulnrichment

Updated: 2026-02-26T20:38:32.784Z

cve-icon NVD

Status : Analyzed

Published: 2026-02-25T22:16:26.627

Modified: 2026-03-05T16:35:10.197

Link: CVE-2026-27616

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-04-18T10:45:43Z

Weaknesses