Get a Demo

Let's Patch It!

Book a short call with one our specialists, we'll walk you through how Endor Patches work, and ask you a few questions about your environment (like your primary programming languages and repository management). We'll also send you an email right after you fill out the form, feel free to reply with any questions you have in advance!

CVE

CVE-2026-30934

FileBrowser Quantum: Stored XSS in public share page via unsanitized share metadata (text/template misuse)
Back to all
CVE

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., titledescription) 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>
  1. Open the resulting /public/share/<hash> URL in a browser.
  2. Expected: Payload is safely escaped and displayed as text.
  3. 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.

Package Versions Affected

Package Version
patch Availability
No items found.

Automatically patch vulnerabilities without upgrading

Fix Without Upgrading
Detect compatible fix
Apply safe remediation
Fix with a single pull request

CVSS Version

Severity
Base Score
CVSS Version
Score Vector
C
H
U
8.9
-
3.1
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:L
C
H
U
0
-
3.1
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:L
C
H
U
-

Related Resources

No items found.

References

https://github.com/gtsteffaniak/filebrowser/security/advisories/GHSA-r633-fcgp-m532, https://nvd.nist.gov/vuln/detail/CVE-2026-30934, https://github.com/gtsteffaniak/filebrowser, https://github.com/gtsteffaniak/filebrowser/releases/tag/v1.2.2-stable, https://github.com/gtsteffaniak/filebrowser/releases/tag/v1.3.1-beta, https://pkg.go.dev/vuln/GO-2026-4660

Severity

8.9

CVSS Score
0
10

Basic Information

Ecosystem
Base CVSS
8.9
EPSS Probability
0.00037%
EPSS Percentile
0.11147%
Introduced Version
0
Fix Available
0.0.0-20260307130210-09713b32a5f6

Fix Critical Vulnerabilities Instantly

Secure your app without upgrading.
Fix Without Upgrading