The task preview component creates a unparented div. The div's innerHtml is set to the unescaped description of the task
In the TaskGlanceTooltip.vue it temporarily creates a div and sets the innerHtml to the description here. 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.
<img src=x onerror="alert(localStorage.getItem('token'))">Any user on an instance can cause an XSS on another
{
"nvd_published_at": "2026-02-11T21:16:20Z",
"github_reviewed_at": "2026-02-11T18:39:34Z",
"cwe_ids": [
"CWE-79",
"CWE-80"
],
"severity": "HIGH",
"github_reviewed": true
}