FlawAtlas
Search the atlas
CVE-2026-25935 High

Vikunja Vulnerable to XSS Via Task Preview in code.vikunja.io/api

Vikunja Vulnerable to XSS Via Task Preview in code.vikunja.io/api

Exploit probability 0.2%
Published February 17, 2026
Required by Not available
Last source change February 19, 2026

02 / AFFECTED SOFTWARE

Affected packages

Unknown Unknown

37 explicit affected versions

Go code.vikunja.io/api
Go code.vikunja.io/api

03 / CONNECTIONS

Connected vulnerabilities

related OPENSUSE-SU-2026:21483-1

04 / EVIDENCE

Source records

Open Source Vulnerabilities CVE-2026-25935

Vikunja is a todo-app to organize your life. Prior to 1.1.0, TaskGlanceTooltip.vue temporarily creates a div and sets the innerHtml to the description. Since there is no escaping on either the server or client side, a malicious user can share a project, create a malicious task, and cause an XSS on hover. This vulnerability is fixed in 1.1.0.

View original source
Open Source Vulnerabilities GO-2026-4480

Vikunja Vulnerable to XSS Via Task Preview in code.vikunja.io/api

View original source
Open Source Vulnerabilities GHSA-m4g2-2q66-vc9v

### Summary The task preview component creates a unparented div. The div's `innerHtml` is set to the unescaped description of the task ### Details In the `TaskGlanceTooltip.vue` it temporarily creates a div and sets the `innerHtml` to the description [here](https://github.com/go-vikunja/vikunja/blob/cdca79032526966cb248b72bddcf2a0f888c8a8f/frontend/src/components/tasks/partials/TaskGlanceTooltip.vue#L118). Since there is no escaping on either the server or client side, a malicious user can share a project, create a malicious task, and cause an XSS on hover. ### PoC 1. Create a project 2. Create a task with any description 3. Use the api to update the task with a description containing unescaped HTML (ex: `<img src=x onerror="alert(localStorage.getItem('token'))">` 4. Share the project with any permission level 5. Send malicious project to user and ask them to view task ### Impact Any user on an instance can cause an XSS on another

View original source

05 / REFERENCES

Further evidence