CVE-2026-116682: FileBrowser: Symlink following escapes user scope allowing arbitrary file read outside the served directory
File read paths resolve symbolic links with filepath.EvalSymlinks and then operate on the resolved target without re-checking that the target still lies inside the user’s source/scope.
A symlink located inside a user’s accessible directory that points outside the scope (for example to /etc/passwd, another tenant’s directory, SSH keys, or container secrets) is followed transparently, and its contents are served through the normal download, preview, media, and OnlyOffice endpoints. Any authenticated user with download access can read files anywhere the server process can, whenever such a symlink is reachable in their scope.
The same symlink-following read path is used by the public share endpoints, which are authorized only by a share hash and not by any account, so when a public share exposes a directory that contains such a symlink, an unauthenticated attacker holding only the share link reads files outside the scope with no credential.
References
- github.com/advisories/GHSA-mgqf-5mf5-prfj
- github.com/gtsteffaniak/filebrowser/commit/3c8c02414eefd3351ffe437fa39ff6eb150ffa67
- github.com/gtsteffaniak/filebrowser/commit/4126edeb07a015c3809a89249b283e07a4e50c38
- github.com/gtsteffaniak/filebrowser/pull/2795
- github.com/gtsteffaniak/filebrowser/pull/2800
- github.com/gtsteffaniak/filebrowser/releases/tag/v1.5.2-stable
- github.com/gtsteffaniak/filebrowser/releases/tag/v2.0.1-beta
- github.com/gtsteffaniak/filebrowser/security/advisories/GHSA-mgqf-5mf5-prfj
- nvd.nist.gov/vuln/detail/CVE-2026-116682
Code Behaviors & Features
Detect and mitigate CVE-2026-116682 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →