Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-43899

CVE-2026-43899: DeepChat RCE Vulnerability

CVE-2026-43899 is a remote code execution flaw in DeepChat that bypasses security controls via malicious Markdown links. Attackers can execute arbitrary protocols through native window handlers. Fixed in v1.0.4-beta.1.

Published:

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.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.