Skip to main content

SiYuan CVE-2026-65606

| EUVDEUVD-2026-48242 CRITICAL
Cross-site Scripting (XSS) (CWE-79)
2026-07-23 disclosure@vulncheck.com GHSA-3vr3-hq5c-q2w9
9.4
CVSS 4.0 · Vendor: vulncheck
Share

Severity by source

Vendor (vulncheck) PRIMARY
9.4 CRITICAL
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
vuln.today AI
9.6 CRITICAL

Remote link delivery (AV:N) with no auth (PR:N) but a required victim click (UI:R); XSS in the renderer crosses into OS command execution (S:C) with full C/I/A impact.

3.1 AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H

Primary rating from Vendor (vulncheck).

CVSS VectorVendor: vulncheck

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
P
Scope
X

Lifecycle Timeline

4
Patch available
Jul 23, 2026 - 14:04 EUVD
Source Code Evidence Fetched
Jul 23, 2026 - 12:51 vuln.today
Analysis Generated
Jul 23, 2026 - 12:51 vuln.today
CVE Published
Jul 23, 2026 - 12:18 cve.org
CRITICAL 9.4

DescriptionCVE.org

SiYuan before v3.7.2 contains a cross-site scripting vulnerability in the siyuan:// protocol handler. When a siyuan://plugins/<name> link references a name that is not an installed plugin, the application opens a custom tab and inserts the link's icon parameter into the tab header via innerHTML without escaping it (app/src/layout/Tab.ts), allowing injection of an <img onerror=...> element. Because the SiYuan Desktop renderer runs with nodeIntegration:true, the injected JavaScript can access Node's require and call require('child_process').execSync(...), escalating the cross-site scripting into arbitrary operating-system command execution.

AnalysisAI

Cross-site-scripting-to-RCE in the SiYuan Desktop note-taking application (versions before v3.7.2) lets a remote attacker achieve arbitrary OS command execution when a victim opens a crafted siyuan://plugins/<name> link. Because the Electron renderer runs with nodeIntegration:true, an unescaped icon parameter injected via innerHTML escalates a reflected XSS into full command execution through Node's child_process. No public exploit has been identified at time of analysis, but the flaw is trivially exploitable once a user is lured into clicking a malicious link (CVSS 4.0 base 9.4).

Technical ContextAI

SiYuan is an open-source, local-first personal knowledge-management/note-taking application whose desktop build is packaged with Electron. The vulnerability lives in the custom siyuan:// protocol handler: when a siyuan://plugins/<name> URI references a name that is not an installed plugin, the app opens a custom tab and writes the link's icon parameter directly into the tab header using innerHTML without HTML-encoding it (app/src/layout/Tab.ts). This is a classic CWE-79 (Improper Neutralization of Input During Web Page Generation) DOM-based injection that permits an <img onerror=...> payload. The severity is amplified by an unsafe Electron configuration (nodeIntegration:true), which exposes Node primitives such as require() to page script, so injected JavaScript can reach require('child_process').execSync() and run native OS commands.

RemediationAI

Vendor-released patch: upgrade to SiYuan v3.7.2 or later, which is the fixed release per advisory GHSA-wp64-x7qh-h728 (https://github.com/siyuan-note/siyuan/security/advisories/GHSA-wp64-x7qh-h728). Until the upgrade is applied, reduce exposure by not clicking or opening untrusted siyuan:// links and by treating siyuan://plugins/<name> URIs from external content (notes, chat, web pages) as hostile; where feasible, unregister or restrict the siyuan:// custom protocol handler at the OS level to prevent third-party content from invoking the desktop app - note this side effect breaks legitimate deep-linking into SiYuan. The durable fix is to HTML-escape the icon parameter and to disable nodeIntegration / enable contextIsolation in the Electron renderer, but end users should rely on the v3.7.2 patch rather than patching source themselves.

Share

CVE-2026-65606 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy