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-reachable Bazaar listing, no attacker auth, victim must open Bazaar (UI:R); Electron nodeIntegration escapes the renderer sandbox to the host OS, so Scope:Changed with full C/I/A impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
3DescriptionCVE.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) allows any malicious Bazaar marketplace package author to compromise users via unsanitized HTML rendering of package displayName, description, and README content. Because the Electron renderer is configured with nodeIntegration:true and contextIsolation:false, injected JavaScript pivots directly to arbitrary OS command execution. No public exploit identified at time of analysis, but VulnCheck published a detailed technical advisory documenting both zero-click (metadata) and one-click (README) vectors.
Technical ContextAI
SiYuan is a self-hosted Electron-based personal knowledge management application with a built-in community marketplace called the Bazaar that distributes plugins, themes, and templates. The flaw is a classic CWE-79 (Improper Neutralization of Input During Web Page Generation) with two distinct sinks: (1) in app/src/config/bazaar.ts:275-277, package preferredName and preferredDesc fields are interpolated directly into HTML template literals without escaping, while only the title attribute uses escapeAttr(); (2) in kernel/bazaar/package.go:635-645, renderREADME() invokes lute.New() without calling SetSanitize(true), so raw HTML embedded in package README markdown is preserved by Md2HTML() and assigned via innerHTML on the frontend - inconsistent with the note renderer at kernel/util/lute.go:81 which does sanitize. The impact is amplified because app/electron/main.js:422-426 enables nodeIntegration:true and contextIsolation:false, granting any executed script access to Node.js APIs such as child_process. Affected CPE is cpe:2.3:a:siyuan:siyuan:*:*:*:*:*:*:*:*.
RemediationAI
Upgrade SiYuan to v3.6.1 or later, which the vendor advisory GHSA-v3mg-9v85-fcm7 identifies as the fixed release containing HTML escaping for Bazaar metadata fields and SetSanitize(true) on the README Lute engine. If immediate upgrade is not possible, the most effective compensating control is to avoid opening the Bazaar marketplace UI entirely until patched, since both vectors require rendering the marketplace listing; advise users not to install, preview, or browse community packages. A stronger architectural mitigation - disabling nodeIntegration and enabling contextIsolation in app/electron/main.js - would prevent OS command execution but requires code changes and may break legitimate plugins that depend on Node APIs, so it is impractical as a temporary workaround. Network-level blocking of the Bazaar CDN (cdn.jsdelivr.net/gh/siyuan-note) prevents listing fetches but also breaks legitimate marketplace functionality.
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-38163
GHSA-24r3-p3x6-cqvx