<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>SiYuan (Before V3.7.2) - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/siyuan-before-v3.7.2/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata. Fed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Thu, 23 Jul 2026 12:20:44 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/siyuan-before-v3.7.2/feed.xml" rel="self" type="application/rss+xml"/><item><title>CVE-2026-65606 - SiYuan XSS to RCE Vulnerability</title><link>https://feed.craftedsignal.io/briefs/2026-07-cve-2026-65606-siyuan-xss-rce/</link><pubDate>Thu, 23 Jul 2026 12:20:44 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-07-cve-2026-65606-siyuan-xss-rce/</guid><description>A critical cross-site scripting (XSS) vulnerability, CVE-2026-65606, exists in SiYuan desktop application versions prior to 3.7.2's `siyuan://` protocol handler, allowing an attacker to inject an unescaped `&lt;img&gt;` element into the tab header, leading to arbitrary JavaScript execution and ultimately operating system command execution due to `nodeIntegration:true`.</description><content:encoded><![CDATA[<p>CVE-2026-65606 describes a critical cross-site scripting (XSS) vulnerability found in the SiYuan desktop application, affecting all versions prior to 3.7.2. The flaw resides within the <code>siyuan://</code> protocol handler, specifically when processing links for non-existent plugins (e.g., <code>siyuan://plugins/&lt;name&gt;</code>). If such a link includes an <code>icon</code> parameter containing an unescaped XSS payload, like an <code>&lt;img onerror=...&gt;</code> element, the application inserts this content directly into the tab header via <code>innerHTML</code> (as observed in <code>app/src/layout/Tab.ts</code>). This allows arbitrary JavaScript execution within the application's context. Critically, because the SiYuan Desktop renderer operates with <code>nodeIntegration:true</code>, the injected JavaScript can access Node.js's <code>require</code> function, enabling a direct escalation to arbitrary operating system command execution through calls like <code>require('child_process').execSync(...)</code>. This vulnerability allows for full system compromise on affected user machines.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker crafts a malicious <code>siyuan://plugins/&lt;name&gt;?icon=&lt;img onerror='javascript_payload'&gt;</code> link, where <code>&lt;name&gt;</code> is a reference to a non-installed plugin and <code>javascript_payload</code> contains the XSS code.</li>
<li>The <code>javascript_payload</code> is specifically designed to leverage Node.js functionality, such as <code>require('child_process').execSync()</code>, to execute system commands.</li>
<li>The attacker delivers this malicious link to a victim, often through social engineering, messaging platforms, or by embedding it on a controlled web page.</li>
<li>The victim is enticed to click or open the malicious <code>siyuan://</code> link, which is handled by the SiYuan desktop application.</li>
<li>SiYuan processes the link, attempts to open a custom tab for the specified non-existent plugin, and insecurely inserts the attacker-controlled <code>icon</code> parameter's content into the tab header via <code>innerHTML</code>.</li>
<li>The injected <code>&lt;img&gt;</code> element triggers its <code>onerror</code> JavaScript payload due to the application's failure to properly escape the input, executing the attacker's code within the application's context.</li>
<li>Operating within an environment where <code>nodeIntegration:true</code> is enabled, the executed JavaScript code successfully invokes <code>require('child_process').execSync()</code> to execute arbitrary commands on the host operating system.</li>
<li>This results in arbitrary code execution, granting the attacker full control over the victim's Windows, Linux, or macOS system.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of CVE-2026-65606 leads to arbitrary operating system command execution on the victim's machine. This grants the attacker full control over the compromised system, potentially allowing for data theft, installation of additional malware (such as ransomware or cryptominers), persistence mechanisms, and lateral movement within a network. The CVSS v3.1 base score of 9.6 indicates a critical severity, signifying a high likelihood of complete confidentiality, integrity, and availability compromise on affected desktop systems. While no specific victim counts or targeted sectors are publicly disclosed, any user running an unpatched SiYuan Desktop application is at risk.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Patch CVE-2026-65606 by updating SiYuan Desktop to version 3.7.2 or later immediately.</li>
<li>Implement endpoint detection and response (EDR) rules to monitor for suspicious process creation originating from the SiYuan application, especially for child processes like <code>cmd.exe</code>, <code>powershell.exe</code>, <code>bash</code>, or other shell interpreters that deviate from normal application behavior.</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>xss</category><category>rce</category><category>desktop-application</category><category>vulnerability</category><category>cve</category></item></channel></rss>