The EPUB preview function in File Browser is vulnerable to Stored Cross-site Scripting (XSS). JavaScript embedded in a crafted EPUB file executes in the victim's browser when they preview the file.
frontend/src/views/files/Preview.vue passes allowScriptedContent: true to the vue-reader (epub.js) component:
// frontend/src/views/files/Preview.vue (Line 87)
:epubOptions="{
allowPopups: true,
allowScriptedContent: true,
}"
epub.js renders EPUB content inside a sandboxed
{
"cwe_ids": [
"CWE-79"
],
"github_reviewed": true,
"github_reviewed_at": "2026-03-31T23:44:36Z",
"nvd_published_at": "2026-04-01T21:17:00Z",
"severity": "HIGH"
}