Skip to main content

FileBrowser Quantum CVE-2026-54685

| EUVDEUVD-2026-45953 MEDIUM
Observable Timing Discrepancy (CWE-208)
2026-07-20 GitHub_M GHSA-7789-65hx-f26w
5.3
CVSS 3.1 · Vendor: GitHub_M
Share

Severity by source

Vendor (GitHub_M) PRIMARY
5.3 MEDIUM
AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
vuln.today AI
5.3 MEDIUM

Network-accessible login endpoint requires no authentication; impact is limited to username enumeration (C:L) with no integrity or availability effect.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
None
Availability
None

Lifecycle Timeline

3
Patch available
Jul 20, 2026 - 17:02 EUVD
Source Code Evidence Fetched
Jul 20, 2026 - 15:06 vuln.today
Analysis Generated
Jul 20, 2026 - 15:06 vuln.today

DescriptionCVE.org

FileBrowser Quantum is a free, self-hosted, web-based file manager. Prior to version 1.3.2-beta, the /api/auth/login authentication endpoint does not execute in constant time. When a non-existent username is supplied, the server returns a 401/403 response almost immediately. When a valid username is provided, the server performs a bcrypt password comparison, causing a measurable delay in the response time. Version 1.3.2-beta patches the issue.

AnalysisAI

Username enumeration via authentication timing side-channel in FileBrowser Quantum's /api/auth/login endpoint allows unauthenticated remote attackers to distinguish valid from invalid usernames by measuring response latency. Valid usernames trigger a bcrypt password hash comparison (~40-50 ms), while non-existent usernames return almost immediately (~1-4 ms), creating a statistically exploitable timing differential. A working proof-of-concept Python script was published in the GHSA advisory; the CVE is not in CISA KEV, so active exploitation is not confirmed at time of analysis.

Technical ContextAI

The root cause is CWE-208 (Observable Timing Discrepancy) in the Auth function of JSONAuth, located in backend/auth/json.go (lines 45-52) of the FileBrowser Quantum Go backend. The vulnerable code performs a database lookup for the supplied username first; if the username is not found, it returns an error immediately without executing any password validation. If the username exists, it calls CheckPwd, which invokes a bcrypt comparison - an intentionally CPU-expensive operation. Because bcrypt is designed to be slow, its presence or absence in the code path creates a timing differential large enough to measure reliably over a network. CPE cpe:2.3:a:gtsteffaniak:filebrowser:*:*:*:*:*:*:*:* confirms all versions of this product prior to the patch are affected. The fix introduces utils.InvalidPasswordHash (a pre-computed bcrypt hash) as a dummy value so that every authentication attempt, regardless of username validity, always executes the full bcrypt comparison path, equalizing timing.

RemediationAI

Upgrade to FileBrowser Quantum version 1.3.2-beta or later, available at https://github.com/gtsteffaniak/filebrowser/releases/tag/v1.3.2-beta. The patch is implemented in commit af08800667b874620edc6f44c3e2e64fec7abd85, which modifies backend/auth/json.go to always execute bcrypt comparison using utils.InvalidPasswordHash as a dummy hash when the username is not found, eliminating the observable timing difference. If immediate upgrade is not possible, placing a rate-limiting reverse proxy (e.g., nginx limit_req or a WAF rule) in front of the /api/auth/login endpoint will increase the attacker's cost and time for enumeration, though it does not eliminate the timing side-channel itself. Restricting the login endpoint to trusted IP ranges or a VPN is the most effective compensating control, as it prevents unauthenticated network access entirely - the trade-off is reduced accessibility for legitimate remote users.

CVE-2026-29188 CRITICAL POC
9.1 Mar 05

Unauthorized file operations in File Browser before fix. PoC and patch available.

CVE-2023-39612 CRITICAL POC
9.0 Sep 16

A cross-site scripting (XSS) vulnerability in FileBrowser before v2.23.0 allows an authenticated attacker to escalate pr

CVE-2026-73612 HIGH POC
8.6 Aug 13

Recursive operation authorization bypass in File Browser before v2.63.22 permits any authenticated user to copy, rename,

CVE-2026-25890 HIGH POC
8.1 Feb 09

Path normalization bypass in Filebrowser prior to 2.57.1 allows authenticated users to circumvent file access restrictio

CVE-2025-52903 HIGH POC
8.0 Jun 26

File Browser provides a file managing interface within a specified directory and it can be used to upload, delete, previ

CVE-2025-52904 HIGH POC
8.0 Jun 26

File Browser provides a file managing interface within a specified directory and it can be used to upload, delete, previ

CVE-2025-52995 HIGH POC
8.0 Jun 30

File Browser provides a file managing interface within a specified directory and it can be used to upload, delete, previ

CVE-2026-73611 HIGH POC
7.6 Aug 13

File Browser versions 2.50.0 through 2.63.21 permit indefinite session persistence via expired JWT tokens when proxy aut

CVE-2025-52902 HIGH POC
7.6 Jun 26

File Browser provides a file managing interface within a specified directory and it can be used to upload, delete, previ

CVE-2026-73613 HIGH POC
7.2 Aug 13

Arbitrary file deletion in filebrowser before 2.63.19 allows authenticated users holding only Create permission to delet

CVE-2026-28492 MEDIUM POC
6.5 Mar 05

File Browser versions prior to 2.61.0 incorrectly set the filesystem root to a parent directory when generating public s

CVE-2025-52997 MEDIUM POC
5.9 Jun 30

File Browser provides a file managing interface within a specified directory and it can be used to upload, delete, previ

Share

CVE-2026-54685 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy