CVE-2026-55570 Overview
CVE-2026-55570 is a Cross-Site Scripting (XSS) vulnerability [CWE-79] in SiYuan, an open-source personal knowledge management system. Versions prior to 3.7.0 fail to escape untrusted marketplace package fields (name, version, author, description) when serialized into the data-obj HTML attribute of marketplace cards. A package name containing a single quote escapes the attribute and injects arbitrary HTML. In the desktop client, the main BrowserWindow runs with nodeIntegration: true and contextIsolation: false, escalating DOM XSS to arbitrary operating system command execution. The flaw shares the root cause of an earlier advisory but reaches a sibling sink the original patch missed.
Critical Impact
A malicious marketplace package can execute arbitrary operating system commands on the SiYuan desktop client through DOM XSS escalated via Electron nodeIntegration.
Affected Products
- SiYuan personal knowledge management system, all versions prior to 3.7.0
- SiYuan desktop client (Electron) with nodeIntegration: true and contextIsolation: false
- SiYuan marketplace card rendering component
Discovery Timeline
- 2026-06-24 - CVE-2026-55570 published to NVD
- 2026-06-25 - Last updated in NVD database
Technical Details for CVE-2026-55570
Vulnerability Analysis
The vulnerability resides in the marketplace card rendering logic. SiYuan serializes package metadata into the data-obj HTML attribute on each card. The attribute is wrapped in single quotes, and the value is produced by JSON.stringify(). JSON.stringify() does not escape single quotes, <, or > characters. A marketplace package whose name, version, author, or description contains a single quote terminates the attribute prematurely and allows arbitrary HTML markup to follow.
In the SiYuan desktop client, the main BrowserWindow is created with Electron settings nodeIntegration: true and contextIsolation: false. Injected scripts therefore have direct access to Node.js APIs such as require('child_process'). DOM XSS escalates to arbitrary command execution on the host operating system under the user's privileges.
Root Cause
The root cause is improper neutralization of input during web page generation [CWE-79]. The application relies on JSON.stringify() as an output encoder, but the function only handles JSON syntax and does not escape HTML-significant characters. Combined with the use of single-quoted attribute delimiters, the encoding gap permits attribute breakout. A prior advisory addressed one occurrence of this pattern, but the marketplace card sink was not covered by that patch.
Attack Vector
An attacker publishes or supplies a marketplace package whose metadata field contains a single quote followed by an HTML payload. When a SiYuan user browses the marketplace, the malicious card renders and the injected markup executes in the renderer process. Because Node integration is enabled, the payload invokes Node APIs to spawn arbitrary processes. Exploitation requires user interaction in the form of opening the marketplace view.
No verified public proof-of-concept code is available. Refer to the GitHub Security Advisory for additional technical detail.
Detection Methods for CVE-2026-55570
Indicators of Compromise
- Unexpected child processes spawned by the SiYuan Electron process, such as cmd.exe, powershell.exe, /bin/sh, or bash
- Outbound network connections from the SiYuan process to unrecognized hosts after browsing the marketplace
- Marketplace package metadata containing single quote characters or HTML tags in name, version, author, or description fields
- Modifications to user-writable autostart locations following SiYuan marketplace interaction
Detection Strategies
- Inspect cached marketplace JSON responses for fields containing ', <, or > characters in name, version, author, or description
- Monitor process trees for SiYuan spawning shell interpreters or scripting hosts
- Apply endpoint behavioral identification rules for renderer processes invoking child_process.exec or spawn patterns
Monitoring Recommendations
- Log and alert on SiYuan process creation events with unexpected child processes across Windows, macOS, and Linux hosts
- Track SiYuan client versions across the fleet and flag installations below 3.7.0
- Correlate marketplace browsing telemetry with subsequent file system or process anomalies
How to Mitigate CVE-2026-55570
Immediate Actions Required
- Upgrade SiYuan to version 3.7.0 or later on all desktop installations
- Avoid browsing the SiYuan marketplace on vulnerable clients until patched
- Audit installed marketplace packages and remove any with suspicious metadata characters
Patch Information
The vulnerability is fixed in SiYuan 3.7.0. The fix extends prior output encoding to the marketplace card data-obj attribute sink. See the GitHub Security Advisory GHSA-x88j-wgpr-h22x for full remediation guidance.
Workarounds
- Do not open the marketplace view in SiYuan desktop clients running versions prior to 3.7.0
- Restrict network access from SiYuan clients to the marketplace endpoint where operationally feasible
- Run SiYuan under a least-privilege user account to limit the impact of arbitrary command execution
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

