CVE-2026-30934: FileBrowser Quantum: Stored XSS in public share page via unsanitized share metadata (text/template misuse)
Summary Stored XSS is possible via share metadata fields (e.g., title, description) that are rendered into HTML for /public/share/<hash> without context-aware escaping. The server uses text/template instead of html/template, allowing injected scripts to execute when victims visit the share URL.
Details The server renders public/index.html using text/template and injects user-controlled share fields (title/description/etc.) into HTML contexts. text/template does not perform HTML contextual escaping like html/template. Because share metadata is persistent, the payload becomes stored and executes whenever a victim opens the affected share page.
Relevant code paths: - backend/http/static.go (template rendering and share metadata assignment) - backend/http/httpRouter.go (template initialization) - frontend/public/index.html (insertion points for title/description and related fields)
PoC 1. Login as a user with share creation permission. 2. Create a share (POST /api/share) with malicious metadata: - title = </title><script>alert("xss")</script><title> 3. Open the resulting /public/share/<hash> URL in a browser. 4. Expected: Payload is safely escaped and displayed as text. 5. Actual: JavaScript executes in victim's browser (stored XSS).
Tested on Docker image: gtstef/filebrowser:stable (version v1.2.1-stable).
Impact - Arbitrary script execution in application origin. - Potential account/session compromise, CSRF-like action execution, data exfiltration from authenticated contexts. - Affects anyone (including unauthenticated visitors) opening the malicious share URL. - The XSS is stored and persistent — no social engineering beyond sharing the link is required.
Other sources
FileBrowser Quantum is a free, self-hosted, web-based file manager. Prior to 1.3.1-beta and 1.2.2-stable, Stored XSS is possible via share metadata fields (e.g., title, description) that are rendered into HTML for /public/share/<hash> without context-aware escaping. The server uses text/template instead of html/template, allowing injected scripts to execute when victims visit the share URL. This vulnerability is fixed in 1.3.1-beta and 1.2.2-stable.
— MITRE
Affected Software
Event History
Frequently Asked Questions
What is the severity of CVE-2026-30934?
CVE-2026-30934 has a moderate severity due to the potential for stored XSS attacks.
How do I fix CVE-2026-30934?
To fix CVE-2026-30934, upgrade to version 0.0.0-20260307130210-09713b32a5f6 or later of the FileBrowser software.
What type of vulnerability is CVE-2026-30934?
CVE-2026-30934 is a stored cross-site scripting (XSS) vulnerability.
Which software versions are affected by CVE-2026-30934?
CVE-2026-30934 affects versions of FileBrowser prior to 0.0.0-20260307130210-09713b32a5f6.
How does CVE-2026-30934 exploit its vulnerability?
CVE-2026-30934 exploits the vulnerability through unsanitized share metadata fields rendered into HTML.