CVE-2026-43899 Overview
CVE-2026-43899 is a remote code execution vulnerability in DeepChat, an open-source artificial intelligence agent platform that unifies models, tools, and agents. The flaw represents an incomplete mitigation for CVE-2025-55733. While the prior patch restricted api.openExternal() inside the renderer's preload/index.ts script, it failed to sanitize native Electron pop-up window handlers. An attacker or a compromised AI endpoint can return a Markdown link that triggers a target="_blank" native window interception in tabPresenter.ts. The handler forwards the malicious URL directly to shell.openExternal(url), bypassing the isValidExternalUrl security boundary. The vulnerability is fixed in v1.0.4-beta.1.
Critical Impact
Attackers can achieve arbitrary protocol execution and remote code execution by delivering a crafted Markdown link through a chat response or compromised AI endpoint.
Affected Products
- DeepChat versions prior to v1.0.4-beta.1
- DeepChat instances using the Electron-based desktop client
- DeepChat deployments connected to untrusted or third-party AI endpoints
Discovery Timeline
- 2026-05-11 - CVE-2026-43899 published to NVD
- 2026-05-12 - Last updated in NVD database
Technical Details for CVE-2026-43899
Vulnerability Analysis
The vulnerability stems from improper input validation [CWE-20] in DeepChat's URL handling logic. The original mitigation for CVE-2025-55733 addressed only one execution path. Developers locked down api.openExternal() in the renderer preload script but left native Electron window-creation events unguarded. Electron applications intercept target="_blank" links through a separate handler, which in DeepChat resides in tabPresenter.ts. This handler passes URLs directly to shell.openExternal() without validation. Because shell.openExternal() accepts arbitrary URI schemes, an attacker can invoke registered protocol handlers on the host operating system and execute local applications or scripts.
Root Cause
The root cause is incomplete sanitization across multiple URL execution paths. The isValidExternalUrl security boundary was applied only to renderer-initiated external opens. The native pop-up handler in tabPresenter.ts was structurally excluded from validation, creating a parallel code path that reaches shell.openExternal() directly. Any URI scheme registered on the victim's operating system becomes reachable.
Attack Vector
Exploitation requires user interaction with a Markdown link rendered inside DeepChat. An attacker controls the link content either by operating a malicious AI endpoint or by compromising an upstream model response. The link uses target="_blank" semantics, which Electron routes to the native window handler. When the user clicks the link, the handler forwards the URL to shell.openExternal(). Dangerous schemes such as file://, ms-msdt:, or other registered handlers can launch local binaries and achieve code execution in the user's context.
No verified public proof-of-concept code is available. Refer to the GitHub Security Advisory for additional technical context.
Detection Methods for CVE-2026-43899
Indicators of Compromise
- DeepChat process spawning child processes that are not part of normal application behavior, such as cmd.exe, powershell.exe, osascript, or shell interpreters
- Outbound network activity from DeepChat to unexpected AI endpoint domains
- Markdown responses containing links with non-HTTP schemes (file:, ms-, smb:, custom protocol handlers)
Detection Strategies
- Monitor endpoint telemetry for DeepChat invoking shell.openExternal() equivalents that result in protocol handler execution
- Inspect AI endpoint responses for Markdown link payloads referencing local or non-web URI schemes
- Track DeepChat versions across the fleet and flag any installation below v1.0.4-beta.1
Monitoring Recommendations
- Enable process lineage logging to capture parent-child relationships between DeepChat and any spawned interpreters or LOLBins
- Log all URI scheme handler invocations originating from Electron applications
- Alert on DeepChat connections to AI endpoints outside an approved allowlist
How to Mitigate CVE-2026-43899
Immediate Actions Required
- Upgrade DeepChat to v1.0.4-beta.1 or later on all endpoints where the client is installed
- Restrict DeepChat to vetted AI endpoints and disable connections to untrusted model providers
- Educate users to avoid clicking links rendered from AI responses until patching is complete
Patch Information
The maintainers fixed CVE-2026-43899 in DeepChat v1.0.4-beta.1. The patch extends URL validation to the native Electron pop-up window handler in tabPresenter.ts, ensuring that all paths to shell.openExternal() are gated by isValidExternalUrl. Patch details are published in the GitHub Security Advisory.
Workarounds
- Block outbound connections from DeepChat to untrusted AI inference endpoints at the network perimeter
- Apply application allowlisting to prevent DeepChat from launching shell interpreters or scripting hosts
- Remove or restrict dangerous URI scheme handlers on endpoints where DeepChat runs
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

