/

CVE-2026-116682

Severity:

HIGH RISK

(8.6)

Path Traversal (CWE-22) in FileBrowser Quantum Server

CVE-2026-116682

Deferred

Vulnerability type

Category:

Path Traversal via Symbolic Links

CWE:

CWE-22, CWE-59

Impact:

Unauthorized File Disclosure

Severity:

HIGH RISK

(8.6)

CVSS version:

3.1

Catch this CVE while code is being written

Detect vulnerable code directly in pull requests, so CVEs are fixed before merge.

Summary

FileBrowser Quantum contains a path validation weakness in file-read flows that follow symbolic links. A reachable symlink can resolve outside the source root and authorized scope, allowing an authenticated user or, in some public-share cases, an unauthenticated link holder to read server-accessible files.

FileBrowser Quantum contains a path validation weakness in file-read flows that follow symbolic links. A reachable symlink can resolve outside the source root and authorized scope, allowing an authenticated user or, in some public-share cases, an unauthenticated link holder to read server-accessible files.

Affected context

The issue occurs in deployments where FileBrowser Quantum enables symbolic-link following for download, preview, media, OnlyOffice, or public-share operations. Risk is higher when a reachable in-scope symlink points outside the configured source root or the requesting user's authorized directory, and when the target is readable by the server process.

The issue occurs in deployments where FileBrowser Quantum enables symbolic-link following for download, preview, media, OnlyOffice, or public-share operations. Risk is higher when a reachable in-scope symlink points outside the configured source root or the requesting user's authorized directory, and when the target is readable by the server process.

Exploit preconditions

  • Attack surface: Web-based file-read endpoints and public-share read flows
  • Required access: An authenticated account with download access, or a public-share link that exposes a suitable symlink
  • Trigger point: A download, preview, media, OnlyOffice, or shared-file read operation with symbolic-link following enabled
  • Why exploitation is possible: The resolved symbolic-link target is not consistently verified against both the source root and the user's authorized scope before content is served
  • Attack surface: Web-based file-read endpoints and public-share read flows
  • Required access: An authenticated account with download access, or a public-share link that exposes a suitable symlink
  • Trigger point: A download, preview, media, OnlyOffice, or shared-file read operation with symbolic-link following enabled
  • Why exploitation is possible: The resolved symbolic-link target is not consistently verified against both the source root and the user's authorized scope before content is served

Why this happens

The underlying bug is an insufficient path-containment check after symbolic-link resolution. The application obtains a real path but does not reliably confirm that the resulting target remains within the permitted root and authorization boundary.

This maps primarily to CWE-22: Improper Limitation of a Pathname to a Restricted Directory, with CWE-59: Improper Link Resolution Before File Access also describing the unsafe symbolic-link handling pattern. Trusting a user-reachable path without validating its canonical target can turn an apparently in-scope file request into an out-of-scope read.

The underlying bug is an insufficient path-containment check after symbolic-link resolution. The application obtains a real path but does not reliably confirm that the resulting target remains within the permitted root and authorization boundary.

This maps primarily to CWE-22: Improper Limitation of a Pathname to a Restricted Directory, with CWE-59: Improper Link Resolution Before File Access also describing the unsafe symbolic-link handling pattern. Trusting a user-reachable path without validating its canonical target can turn an apparently in-scope file request into an out-of-scope read.

Potential impact

  • An attacker may read files outside an assigned directory scope
  • Sensitive configuration, credentials, or application data could be disclosed
  • A public-share link could expose additional server-accessible files when its directory contains a suitable symlink
  • The confidentiality of files on the host may be reduced
  • Disclosed information could support further compromise or lateral movement
  • An attacker may read files outside an assigned directory scope
  • Sensitive configuration, credentials, or application data could be disclosed
  • A public-share link could expose additional server-accessible files when its directory contains a suitable symlink
  • The confidentiality of files on the host may be reduced
  • Disclosed information could support further compromise or lateral movement

General mitigation guidance

Mitigation generally focuses on enforcing authorization against the canonical target path rather than only the user-supplied or displayed path.

Common defensive patterns include:

  • Disable symbolic-link following by default unless the feature is explicitly required
  • Resolve and validate canonical paths before every file-read operation
  • Require the resolved target to remain within both the configured source root and the user's authorized scope
  • Apply the same containment checks consistently across downloads, previews, media handlers, document integrations, and public shares
  • Treat public-share paths as untrusted and avoid exposing links that can traverse outside the shared directory
  • Run the service with least-privilege filesystem permissions and limit access to sensitive host paths

Mitigation generally focuses on enforcing authorization against the canonical target path rather than only the user-supplied or displayed path.

Common defensive patterns include:

  • Disable symbolic-link following by default unless the feature is explicitly required
  • Resolve and validate canonical paths before every file-read operation
  • Require the resolved target to remain within both the configured source root and the user's authorized scope
  • Apply the same containment checks consistently across downloads, previews, media handlers, document integrations, and public shares
  • Treat public-share paths as untrusted and avoid exposing links that can traverse outside the shared directory
  • Run the service with least-privilege filesystem permissions and limit access to sensitive host paths

How teams detect issues like this

Organizations can look for:

  • Static analysis rules identifying file access performed after symlink resolution without an explicit containment check
  • Code review signals such as path authorization performed before canonicalization, or checks applied only to selected read handlers
  • Tests that verify symlink targets outside source roots and user scopes are rejected across every file-serving flow
  • Runtime logging and policy enforcement for file reads that resolve outside approved directory boundaries
  • Automated security review tools that flag link-following APIs and incomplete canonical-path validation

Organizations can look for:

  • Static analysis rules identifying file access performed after symlink resolution without an explicit containment check
  • Code review signals such as path authorization performed before canonicalization, or checks applied only to selected read handlers
  • Tests that verify symlink targets outside source roots and user scopes are rejected across every file-serving flow
  • Runtime logging and policy enforcement for file reads that resolve outside approved directory boundaries
  • Automated security review tools that flag link-following APIs and incomplete canonical-path validation

Sources

SourceLink
github.comgithub.com/gtsteffaniak/filebrowser/commit/3c8c02414eefd3351ffe437fa39ff6eb150ffa67
github.comgithub.com/gtsteffaniak/filebrowser/commit/4126edeb07a015c3809a89249b283e07a4e50c38
github.comgithub.com/gtsteffaniak/filebrowser/pull/2795
github.comgithub.com/gtsteffaniak/filebrowser/pull/2800
github.comgithub.com/gtsteffaniak/filebrowser/releases/tag/v1.5.2-stable
github.comgithub.com/gtsteffaniak/filebrowser/releases/tag/v2.0.1-beta
github.comgithub.com/gtsteffaniak/filebrowser/security/advisories/GHSA-mgqf-5mf5-prfj

Frequently asked

questions

Yes, when a reachable web file-read flow follows symbolic links and the requester meets the applicable access conditions. The exact scope depends on deployment settings and whether public sharing exposes a suitable symlink.

Authenticated exploitation generally requires download access. An account may not be required when a public-share link exposes a directory containing a symlink to an out-of-scope, server-readable target.

Resolve the target path and enforce containment against the configured root and authorization scope before serving any content. Disabling symbolic-link following by default further reduces exposure.

Apply centralized canonical-path authorization to every file-read endpoint, test link traversal across all supported flows, and constrain the service's filesystem privileges.

Yes, when a reachable web file-read flow follows symbolic links and the requester meets the applicable access conditions. The exact scope depends on deployment settings and whether public sharing exposes a suitable symlink.

Authenticated exploitation generally requires download access. An account may not be required when a public-share link exposes a directory containing a symlink to an out-of-scope, server-readable target.

Resolve the target path and enforce containment against the configured root and authorization scope before serving any content. Disabling symbolic-link following by default further reduces exposure.

Apply centralized canonical-path authorization to every file-read endpoint, test link traversal across all supported flows, and constrain the service's filesystem privileges.

Find out what's already
exploitable in your codebase.