Loading...
Skip to main content

CVE-2026-30934 — FileBrowser Quantum: Stored XSS in...

HIGH

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

Published March 9, 2026Updated March 24, 2026Source: osv

Summary

## 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.

Advisory Timeline

  • First published March 9, 2026 (217 days ago).
  • Last revised March 24, 2026 — 15 days after initial publication.

Remediation

Upgrade to the fixed version using your package manager.

Go
Update github.com/gtsteffaniak/filebrowser to 0.0.0-20260307130210-09713b32a5f6 or later
go get github.com/gtsteffaniak/filebrowser@v0.0.0-20260307130210-09713b32a5f6

After upgrading, run your dependency scanner again to confirm the vulnerability is resolved.

Affected Packages (1)

Affects 1 ecosystem: go (1).

PackageEcosystemAffectedFixed In
github.com/gtsteffaniak/filebrowser
go
All versions0.0.0-20260307130210-09713b32a5f6

Vulnerability Classification

Common Weakness Enumeration (CWE) identifiers for this vulnerability type.

  • CWE-79
    Cross-site Scripting (XSS)MITRE

CVSS Score Breakdown

What the CVSS (Common Vulnerability Scoring System) 8.9 score means for each attack dimension.

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
Required
Scope
Changed
Confidentiality
High
Integrity
High
Availability
Low

CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:L

Frequently Asked Questions

What is CVE-2026-30934?
FileBrowser Quantum: Stored XSS in public share page via unsanitized share metadata (text/template misuse) This vulnerability has been assigned a severity rating of HIGH (CVSS score: 8.9/10).
How do I check if my project is affected by CVE-2026-30934?
CVE-2026-30934 affects github.com/gtsteffaniak/filebrowser. Use GeekWala's free vulnerability scanner to check your dependencies against CVE-2026-30934 and 200,000+ other known vulnerabilities.

Severity & Exploitability

CVSS Score
8.9

High exploitability or significant impact. Prioritize remediation within days.

Also Known As

GHSA-r633-fcgp-m532
GO-2026-4660

Related CVEs

  • CVE-2026-44542
    CRITICAL

    FileBrowser Public Share DELETE API Path Traversal Allows Unauthenticated Arbitrary File Deletion

  • CVE-2026-48777
    CRITICAL

    FileBrowser Quantum: Path traversal in public share PATCH allows file ops outside shared directory

  • CVE-2026-107809
    HIGH

    Nginx-UI AuthRequired token cookie fallback enables CSRF against management APIs

  • CVE-2026-107813
    HIGH

    Nginx UI: Incomplete fix of CVE-2026-84315 - the api/cluster router was not - wrapped in RequireSecureSession, so those sensitive mutations run without OTP step-up

Check if you're affected

Scan your dependencies to see if this vulnerability affects your projects.

Scan Your Dependencies