Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessGain authenticated write access to workspace
-
DeliveryInject payload into gallery/kanban field description
-
ExploitVictim renders gallery/kanban view
-
Executionaria-label executes injected JavaScript
-
PersistCall Node.js child_process via nodeIntegration
-
ImpactExecute arbitrary OS commands as victim
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) an authenticated account with write access to a shared/multi-user SiYuan workspace so the attacker can populate a database field description; (2) the victim rendering a gallery or kanban database (Attribute View) view containing the malicious field description, since the payload fires via the unescaped aria-label attribute (UI:P - victim interaction needed); and (3) for command execution, the victim running the SiYuan Electron desktop app with nodeIntegration enabled (the default desktop build) - in a pure browser/web context the impact is limited to XSS without Node.js child_process access. Version must be 3.7.0 through pre-3.8.4. These gates (authenticated writer + victim render + Electron config) meaningfully limit real-world exploitation versus the raw score. |
| Impact | This is a genuine but access-gated risk that lands lower than its 8.6 CVSS4 headline suggests. The CVSS4 vector (AV:N/AC:L/PR:L/UI:P) confirms network reach with low complexity but requires authenticated write access (PR:L) AND victim interaction (UI:P) - an attacker cannot exploit anonymously against a default install. No EPSS score, no CISA KEV listing, and no public exploit code are present in the provided data, so this is 'no public exploit identified at time of analysis' - not active exploitation. The high VC:H/VI:H/VA:H impact ratings are justified ONLY because SiYuan ships as an Electron desktop app with nodeIntegration enabled, which promotes a stored XSS into arbitrary command execution at the victim's OS privilege level; without that Electron configuration the impact degrades to browser-scoped script execution. Vendor CVSS4 sets SC:N (no subsequent-system impact), which arguably understates the renderer-to-host escape since code runs with full user privileges outside the browser sandbox. Net: real and patchable, but the combination of authenticated-writer + victim-render + Electron-nodeIntegration prerequisites makes this a lower-priority issue than an unauthenticated RCE - prioritize patching to 3.8.4 in multi-user/shared-workspace deployments where untrusted collaborators can author database fields. |
| Exploit ScenarioDerived | An authenticated user with write access to a shared SiYuan workspace creates or edits a gallery/kanban database field and places a malicious payload in the field description; because the description is rendered unescaped into an aria-label attribute, the payload becomes live HTML/JS. When another user opens or renders that gallery or kanban view in the Electron desktop app (nodeIntegration enabled), the injected JavaScript invokes Node.js child_process APIs to execute arbitrary OS commands with the victim's privileges. No public proof-of-concept is identified in the provided data. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 26, 2026
Stored cross-site scripting in SiYuan versions 3.7.0 through 3.8.3 (fixed in 3.8.4) allows an authenticated user with write access to a shared workspace to plant JavaScript inside a database field description that is later rendered unescaped into an aria-label attribute of gallery and kanban (Attribute View) layouts. When the victim views that board in the SiYuan Electron desktop app - where nodeIntegration is enabled by default - the injected script reaches Node.js child_process APIs and can execute arbitrary commands with the victim's privileges, escalating a rendering flaw into full local code execution. Exploitation is access-gated: it requires an authenticated writer, the victim rendering the poisoned view, and the desktop Electron build, so real-world reach is narrower than the 8.6 CVSS 4.0 headline; no public exploit code or confirmed active exploitation was identified at time of analysis.
RemediationAI
Upgrade to SiYuan 3.8.4 or later, the vendor-released patch that fixes the unescaped aria-label handling in the gallery and kanban database renderers (vendor advisory: https://github.com/siyuan-note/siyuan/security/advisories/GHSA-556j-q8c8-qqg3). If upgrading immediately is not possible, reduce exposure by restricting workspace sharing to trusted collaborators only, since the attack requires an authenticated writer who can author a database field description - removing untrusted participants closes the injection vector. Avoid opening untrusted or imported .sy workspaces and review existing gallery/kanban database field descriptions for suspicious attribute-breaking content. Running SiYuan in the browser/web mode rather than the Electron client eliminates the Node.js child_process escalation path, though the underlying stored XSS still fires; treat that only as a partial containment, not a fix. More aggressive hardening such as disabling nodeIntegration in the Electron build would break desktop functionality that depends on it and is not a supported configuration change, so it is a last-resort measure rather than a recommended workaround. Patching remains the only complete remediation, and note that no vendor-independent confirmation of exploitation or a public proof-of-concept was available at time of analysis, so urgency is driven by the ease of internal sharing rather than by observed attacks.
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
SiYuan is a local-first knowledge management and note-taking application that ships both as a browser-served web app and as an Electron desktop client. The affected subsystem is the database/Attribute View feature, specifically the gallery and kanban renderers. Field descriptions are inserted into HTML aria-label attributes without proper output encoding, the classic CWE-79 improper neutralization of output during web page generation. Because aria-label is an attribute context, a double-quote and event handler payload can break out and execute. The severity bump comes from the Electron packaging: with nodeIntegration enabled (the default desktop configuration), renderer-context JavaScript is not sandboxed from Node.js, so injected script inherits access to child_process and the full user-level file system and command surface. In a pure browser deployment the same bug remains script execution constrained by the browser origin, without Node.js reach. The CPE cpe:2.3:a:siyuan-note:siyuan identifies the affected product line, and the CWE mapping to CWE-79 confirms the root cause is output escaping, not a logic or memory-safety defect.
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:N/AC:L/AT:N/PR:L/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Authenticated writer stores the payload (PR:L) and a different user must render the view (UI:R); Electron nodeIntegration escapes the renderer to host command execution, changing scope (S:C) with full C/I/A impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
SiYuan versions 3.7.0 before 3.8.4 contain a stored cross-site scripting vulnerability in gallery and kanban database renderers where field descriptions are not escaped in aria-label attributes. In the Electron desktop app with nodeIntegration enabled, attackers can inject JavaScript that calls Node.js child_process APIs to execute arbitrary commands with user privileges.
Technical POC Analysis
Evidence base: GitHub Security Advisory GHSA-556j-q8c8-qqg3 plus the attached poc.py.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
SiYuan desktop versions 3.7.0 through 3.8.3 carry a stored cross-site scripting flaw that can escalate to arbitrary command execution on a victim's own machine, and the vendor has released 3.8.4 to remediate it. Impact is concentrated in teams that use shared SiYuan workspaces through the Electron desktop client: anyone with write access to a board can plant a payload, and a colleague who simply opens that board may have their endpoint compromised under their own privileges. Leadership should care because a rendering defect in a knowledge-management tool can translate into local code execution on employee workstations, even though reaching it requires a specific combination of shared-workspace access and desktop client usage.
Apply vendor patch.
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.
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-87739
GHSA-rqqw-4x86-32vh
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB