Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft document with quote-breakout onmouseover payload in metadata
-
DeliveryDeliver via share/sync/import
-
ExploitVictim opens move/link path-picker dialog
-
ExecutionHover triggers unescaped aria-label injection
-
PersistHandler calls require('child_process')
-
ImpactExecute arbitrary OS commands as user
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires: (1) the victim to be running a vulnerable SiYuan desktop build (before v3.7.4) with its default insecure Electron settings (nodeIntegration:true, contextIsolation:false, no CSP); (2) a malicious document reaching the victim through sharing, sync, or import; (3) at least one of the document metadata fields (bookmark, alias, memo, or the alternate name field) containing a double-quote-based attribute breakout payload; and critically (4) the victim opening the 'move/link to' file-tree path-selection dialog and hovering the mouse over the malicious document entry, which generates the vulnerable aria-label tooltip. Limiting factors that reduce realistic risk: the vector is local (the payload does not fire from the network alone), passive user interaction is mandatory (the specific hover in the specific picker dialog), and it only affects the desktop Electron client with its default Node-integrated configuration - a hardened build with contextIsolation would not escalate to RCE. |
| Impact | Signals are mostly aligned toward high severity but with real limiting factors. The vendor CVSS 4.0 base is 9.3 (Critical) with AV:L/AC:L/AT:N/PR:N/UI:P and full High impact on both the vulnerable and subsequent system, reflecting the escape from browser context to OS command execution. The attack vector is Local and requires passive user interaction (UI:P) - the victim must receive the malicious document (via sharing, sync, or import) and then hover over its entry specifically in the move/link path-picker dialog - so this is not a drive-by internet-facing exploit and cannot be triggered without a user action inside the app. Offsetting that, no privileges or authentication are needed on the victim side (PR:N), complexity is low (AC:L), and the payload is stored, so exploitation is reliable once the document is opened in the right dialog. There is no EPSS score, KEV entry, or public POC provided in the source data, so exploitation is theoretical/analyst-assessed rather than observed - the 9.3 reflects potential impact, not measured in-the-wild activity. Net: a genuinely serious client-side RCE for SiYuan users worth prompt patching, tempered by the local vector and required user hover, and by the niche deployment footprint of the product. |
| Exploit ScenarioDerived | An attacker creates a SiYuan document whose bookmark or alias field contains a double quote followed by an injected onmouseover handler that calls require('child_process').exec, then delivers it to a victim via a shared/synced workspace or an import file. When the victim opens the file-tree 'move/link to' dialog and hovers over the malicious document entry, the injected handler fires and runs arbitrary OS commands with the user's privileges. No public POC is identified at time of analysis, but the attack is straightforward given the described unescaped-attribute sink and the app's Node-integrated Electron context. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 19, 2026
Stored cross-site-scripting-to-RCE in SiYuan (the open-source personal knowledge-management/note app) before v3.7.4 lets an attacker-crafted document execute arbitrary OS commands on a victim's machine. Document metadata fields (bookmark, alias, memo, and an alternate name field) are concatenated unescaped into the aria-label attribute of the file-tree 'move/link to' path-picker tooltip; a double quote breaks out of the attribute and injects an inline event handler. Because every SiYuan Electron window runs with nodeIntegration:true, contextIsolation:false and no CSP, the handler reaches require('child_process') and achieves command execution the moment the victim hovers the malicious entry. There is no public exploit identified at time of analysis and it is not in CISA KEV.
RemediationAI
Vendor-released patch: v3.7.4 - upgrade all SiYuan desktop/Electron installations to v3.7.4 or later, which escapes the metadata fields before they enter the aria-label attribute (see the advisory at https://github.com/siyuan-note/siyuan/security/advisories/GHSA-jjq3-3942-x99r). Until upgrading, reduce exposure by not importing, syncing, or opening documents from untrusted sources and by avoiding the 'move/link to' path-picker dialog on documents of unknown provenance, since merely hovering an entry there triggers the payload; treat shared/synced notebooks as untrusted content. Because the underlying amplifier is the insecure Electron configuration (nodeIntegration:true, contextIsolation:false, no CSP), defenders who build or repackage the client should also consider enabling contextIsolation and a restrictive CSP, though that is an upstream change rather than an end-user toggle. There is no reliable end-user workaround that preserves the picker functionality, so patching to v3.7.4 is the primary action.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The root cause is CWE-79 (improper neutralization of input during web page generation) in the Electron/TypeScript front-end: app/src/util/pathName.ts, functions getLeaf() and movePathTo(), build the hover-tooltip markup for the path-selection dialogs by string-concatenating document metadata (bookmark, alias, memo, and an alternate name field) directly into an aria-label HTML attribute with no HTML/attribute escaping. Because the value is embedded inside a double-quoted attribute, a literal double quote in any of those fields terminates the attribute early and allows arbitrary additional attributes - including DOM event handlers such as onmouseover - to be injected into the rendered node. What turns this ordinary DOM-based XSS into remote code execution is SiYuan's Electron hardening posture: every BrowserWindow is created with nodeIntegration:true and contextIsolation:false and serves no Content-Security-Policy, so injected script runs in the same context as Node.js and can call require('child_process').exec to spawn OS processes. The affected component is identified by CPE cpe:2.3:a:siyuan-note:siyuan:*:*:*:*:*:*:*:* (all versions prior to the fix).
Know when Siyuan gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H
Local vector and required victim hover give AV:L/UI:R; no victim privileges needed (PR:N); XSS escaping browser context to OS command execution is a scope change (S:C) with full C/I/A impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
SiYuan before v3.7.4 contains a cross-site scripting vulnerability in the file-tree picker's hover-tooltip generation (app/src/util/pathName.ts, getLeaf()/movePathTo()) used by the 'move/link to' path-selection dialogs, where document metadata fields (bookmark, alias, memo, and an alternate name field) are concatenated into the aria-label HTML attribute without escaping. A document crafted with a double quote in any of these fields breaks out of the attribute context and injects arbitrary HTML attributes including inline event handlers (e.g., onmouseover). Because every SiYuan Electron BrowserWindow runs with nodeIntegration:true, contextIsolation:false, and no CSP, the injected handler gains require('child_process') access, escalating the XSS to arbitrary OS command execution when a victim merely hovers over the malicious document entry in the path-picker dialog. Malicious documents reach victims via sharing, sync, or import.
Executive ViewAI
SiYuan personal knowledge-management application versions before 3.7.4 contain a critical stored cross-site-scripting vulnerability that achieves remote code execution on a user's local machine through malicious document metadata. When a user hovers over a malicious file-tree entry, arbitrary OS commands execute in the context of the SiYuan Electron application, potentially compromising the system and any stored data. Although no public exploit has been identified at time of analysis, the absence of a vendor patch creates urgent risk for organizations using SiYuan in collaborative or shared environments, where an attacker could inject a malicious document accessible to multiple users.
No vendor-released patch identified at time of analysis. Interim mitigations include: restricting SiYuan usage to air-gapped, single-user deployments; disabling document synchronization and sharing features; implementing network segmentation for systems running SiYuan; deploying endpoint detection and response (EDR) tools to alert on abnormal child-process spawning from Electron-based applications; and running SiYuan within sandboxed or containerized environments with restricted OS access. If SiYuan stores sensitive business information, prioritize planned migration to a security-hardened knowledge-management platform pending vendor patch availability.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
OS command injection occurs when an application passes unsanitized user input directly into system shell commands.
SQL injection in SiYuan personal knowledge management (versions <= v3.7.2) lets attackers pass arbitrary SQL statements
SQL injection in SiYuan personal knowledge-management software (all versions before v3.7.3) lets attackers inject arbitr
A SQL injection vulnerability was discovered in Siyuan 3.1.11 in /getHistoryItems. Rated critical severity (CVSS 9.8), t
A SQL injection vulnerability has been identified in Siyuan 3.1.11 via the ids array parameter in /batchGetBlockAttrs. R
A SQL injection vulnerability has been identified in Siyuan 3.1.11 via the id parameter at /getAssetContent. Rated criti
A SQL injection vulnerability has been identified in Siyuan 3.1.11 via the notebook parameter in /searchHistory. Rated c
SiYuan personal knowledge management system prior to 3.5.4 has a stored XSS vulnerability (CVSS 9.6) that allows code ex
Remote code execution in SiYuan note-taking application (before v3.6.1) allows any malicious Bazaar marketplace package
Origin-validation bypass in SiYuan Note (open-source personal knowledge management) before 3.7.0 lets any installed Chro
Reflected XSS in SiYuan knowledge management before 3.5.9.
SiYuan knowledge management system prior to 3.5.5 has a path traversal in /api/file/copyFile allowing arbitrary file ope
SiYuan version 3.0.3 allows executing arbitrary commands on the server. Rated critical severity (CVSS 9.0), this vulnera
EUVD-2026-62442
GHSA-w6j4-pg6w-qwj7
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB