Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/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
Network-delivered via marketplace fetch with no attacker auth (PR:N), trivial complexity (AC:L), victim must browse Bazaar (UI:R); renderer XSS escapes via Electron nodeIntegration to full OS impact, justifying S:C and C/I/A:H.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
4DescriptionCVE.org
SiYuan before v3.6.1 fails to sanitize package metadata and README content in the Bazaar marketplace, allowing malicious package authors to inject arbitrary HTML and JavaScript. Attackers can achieve remote code execution on any user browsing the Bazaar by embedding XSS payloads in package displayName, description, or README fields, exploiting Electron's nodeIntegration setting to execute OS commands.
AnalysisAI
Remote code execution in SiYuan note-taking application before v3.6.1 occurs when users browse the built-in Bazaar marketplace, because package metadata (displayName, description) and README content are rendered without HTML sanitization. Because the Electron shell ships with nodeIntegration:true and contextIsolation:false, an injected script in the renderer executes arbitrary OS commands as the user. Reported by VulnCheck with detailed vulnerable-code analysis published in the GHSA advisory; no public exploit identified at time of analysis and not listed in CISA KEV.
Technical ContextAI
SiYuan is an Electron-based personal knowledge management application written with a Go backend (kernel) and TypeScript renderer. The Bazaar is its community marketplace for plugins, themes, and templates. Two distinct CWE-79 (Improper Neutralization of Input During Web Page Generation) flaws are chained with an Electron hardening failure: (1) in app/src/config/bazaar.ts:275-277 the renderer concatenates item.preferredName and item.preferredDesc into a template literal that is assigned to innerHTML without HTML-entity escaping (the adjacent title attribute is correctly passed through escapeAttr, highlighting the inconsistency); (2) in kernel/bazaar/package.go:635-645 the renderREADME function instantiates a fresh lute.New() Markdown engine without calling SetSanitize(true), so raw HTML in a package README survives Md2HTML and is later written to innerHTML at app/src/config/bazaar.ts:607. The same Lute library is correctly configured with SetSanitize(true) for ordinary notes in kernel/util/lute.go:81, confirming this is a missed configuration rather than a library limitation. Because Electron is configured in app/electron/main.js:422-426 with nodeIntegration:true and contextIsolation:false, any JavaScript that executes in the renderer has direct access to Node.js APIs such as child_process, turning a renderer XSS into full OS-level code execution. CPE coverage is cpe:2.3:a:siyuan:siyuan:*.
RemediationAI
Vendor-released patch: upgrade to SiYuan 3.6.1 or later, available from the project release channel and referenced in GHSA-v3mg-9v85-fcm7 (https://github.com/siyuan-note/siyuan/security/advisories/GHSA-v3mg-9v85-fcm7). Until the upgrade is rolled out, instruct users not to open the Bazaar marketplace within SiYuan, since both the metadata and README vectors trigger only when those views are rendered; this fully neutralizes the issue at the cost of losing access to community plugins/themes during the window. As a defense-in-depth mitigation, package the Electron client with nodeIntegration:false and contextIsolation:true (the proper Electron hardening) - note that this is a code-level change requiring a rebuild and will break any plugin that legitimately calls Node APIs from the renderer. Network-level blocking of the Bazaar registry endpoint is another option for managed deployments but breaks legitimate marketplace updates; it should be lifted once 3.6.1 is deployed. Confirm patched version after upgrade and audit recently installed Bazaar packages for malicious payloads.
SQL injection in SiYuan personal knowledge management (versions <= v3.7.2) lets attackers pass arbitrary SQL statements
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
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
SQL injection in SiYuan prior to version 3.6.0 allows any authenticated user, including those with read-only access, to
Cross-site scripting (XSS) in SiYuan personal knowledge management system versions 3.6.0-3.6.1 allows remote attackers t
Same weakness CWE-79 – Cross-site Scripting (XSS)
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-38161
GHSA-9f8r-gfgq-cjhm