Skip to main content

SiYuan Note EUVDEUVD-2026-87735

| CVE-2026-100641 HIGH
Cross-site Scripting (XSS) (CWE-79)
2026-09-26 VulnCheck GHSA-wvmc-29rv-83j2
8.6
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Seed malicious flashcard content via import/contribution
  2. Delivery
    Admin opens card manager
  3. Exploit
    getRiffCards returns unescaped block content
  4. Execution
    innerHTML renders onerror handler
  5. Persist
    Script runs in privileged Electron renderer
  6. Impact
    Arbitrary code execution on host

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 SiYuan desktop Electron client (the nodeIntegration-enabled, contextIsolation-disabled main window is what turns XSS into host RCE); (2) an authenticated administrator account - the /api/riff/getRiffCards endpoint stays behind auth and admin-role checks (PR:L); (3) attacker-controlled flashcard block content already stored in the target workspace, introduced via import, contribution, or shared/synced documents; and (4) user interaction - the administrator must actively open the card manager for the malicious content to be rendered into listElement.innerHTML (UI:P). Versions before v3.8.4 are affected. These conditions - desktop Electron build, admin who opens the specific manager view, and pre-planted content - meaningfully constrain exploitation to targeted scenarios rather than broad remote attack.

Impact

This is a genuine but conditionally-gated remote-code-execution risk that sits below its 8.6 CVSS-4.0 headline in practical urgency. The vendor CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:P/VC:H/VI:H/VA:H) correctly captures the two limiting factors: the flaw requires an authenticated administrator (PR:L) and active user interaction - the admin must actually open the card manager (UI:P). No EPSS score, no CISA KEV listing, and no public POC are provided, so all three real-world-exploitation signals are absent; there is only a confirmed patch and vendor/VulnCheck advisory. The vendor's SC:N/SI:N/SA:N (no subsequent-system impact) arguably understates the danger, because the whole point is that script running in a nodeIntegration=ON, contextIsolation=OFF Electron renderer escalates from XSS to host code execution - a CWE-79 that behaves like an RCE. Net: a real, high-technical-impact bug worth patching, but not a mass-exploitation emergency - it demands attacker-supplied content already resident in the workspace plus a privileged human opening the flashcard manager, which points to targeted rather than opportunistic abuse.

Exploit ScenarioDerived

An attacker seeds malicious flashcard block content (e.g. <img src=invalid onerror=...>) into a SiYuan workspace via an import file, shared document, or community contribution. When an administrator later opens the card manager, /api/riff/getRiffCards returns the stored content, viewCards.ts assigns it to listElement.innerHTML, and the onerror handler fires inside the privileged Electron renderer (nodeIntegration on, contextIsolation off), enabling arbitrary code execution on the admin's host. No public exploit code is identified at time of analysis, but the source diff and stored-XSS mechanism are fully documented.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.5% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Sep 26, 2026

Stored cross-site scripting in SiYuan Note before v3.8.4 lets attacker-supplied flashcard block content run script inside the desktop client's privileged Electron renderer, which is created with nodeIntegration enabled and contextIsolation disabled, escalating the XSS to arbitrary code execution on the host. Per the independent assessment, exploitation is meaningfully gated: it requires the SiYuan desktop Electron client, an authenticated administrator account (the /api/riff/getRiffCards endpoint keeps its auth and admin-role checks), attacker-controlled flashcard content already planted in the workspace via import, contribution, or shared/synced documents, and the administrator actively opening the card manager view - so this is a targeted, condition-gated RCE risk rather than a broadly exploitable one, despite the 8.6 CVSS-4.0 headline. No public exploit code was identified at time of analysis and active exploitation is not confirmed; vendor fixes are available in v3.8.4.

RemediationAI

Upgrade to SiYuan v3.8.4 or later, which is the vendor-released fix for this issue, and verify the application of the upstream commits 1ecb1c07de497ff03b585536fe5579291754d96b, 48c354e7de130aaada9d7120125bbc768344fd3b, 41b14025b4ac4a8379d1200580344ca18ad152b7, and 8641553a1f07374001902d3ce773285db1292b2d; consult the advisory at https://github.com/siyuan-note/siyuan/security/advisories/GHSA-2mmf-4xwm-55rm for the authoritative version guidance. If immediate upgrade is not possible, the highest-value compensating control is to harden the Electron renderer configuration by enabling contextIsolation and disabling nodeIntegration for the main window - but this is a disruptive change that can break parts of the desktop client whose functionality depends on direct Node.js access in the renderer, so it must be tested before deployment. Additionally, treat flashcard/workspace content as untrusted input: do not import, sync, or contribute from untrusted sources, and avoid opening the card manager on any workspace not known to be clean, since the payload only fires when an admin renders that view (the same restriction that makes the attack require UI:P interaction). Because only administrators can reach the endpoint and trigger rendering, limiting administrator use of untrusted synced workspaces on desktop clients measurably reduces exposure; note that this is a behavioral control with no technical enforcement and does not remove the vulnerability.

Affected VersionsENISA

SiYuan 0 <3.8.4

Affected Packages

euvd siyuan fix: 3.8.4

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, i.e. cross-site scripting) realized as a stored XSS through an unsafe DOM sink. Flashcard block content returned by the backend endpoint /api/riff/getRiffCards is interpolated into a card-item template in app/src/card/viewCards.ts and handed to listElement.innerHTML, so markup such as <img src=invalid onerror=...> is parsed as live HTML and the injected string becomes an executable event-handler attribute rather than inert text. What turns a client-side XSS into host-level compromise is the Electron architecture: the SiYuan desktop main window is configured with nodeIntegration enabled and contextIsolation disabled, so script executing in that renderer shares the Node.js runtime and can reach host-level APIs - the definition of an untrusted-content-to-privileged-renderer issue rather than an authorization bypass. The referenced commits (1ecb1c07de497ff03b585536fe5579291754d96b, 48c354e7de130aaada9d7120125bbc768344fd3b, 41b14025b4ac4a8379d1200580344ca18ad152b7, 8641553a1f07374001902d3ce773285db1292b2d) rework the card-manager rendering and pagination path in app/src/card/viewCards.ts, where the unescaped block content was being written into the list markup. The affected package is tracked as CPE cpe:2.3:a:siyuan-note: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 8.6 HIGH
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
vuln.today AI 9.0 CRITICAL

Stored content delivered over network (AV:N) but needs an authed admin (PR:L) to open the manager (UI:R); script escapes the web sandbox into the privileged Electron host (S:C) yielding full C/I/A via code execution.

3.1 AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:P/PR:L/UI:P/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
Low
User Interaction
Passive
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

SiYuan before v3.8.4 does not HTML-escape stored flashcard block content before interpolating it into the card-manager list markup. Block content returned by /api/riff/getRiffCards is inserted into a card item template in app/src/card/viewCards.ts and assigned to listElement.innerHTML, so content such as <img src=invalid onerror=...> becomes an executable event-handler attribute. Because the SiYuan desktop (Electron) main window is created with nodeIntegration enabled and contextIsolation disabled, an administrator who opens the card manager on a workspace containing attacker-supplied flashcard content (for example introduced through contribution or import) executes the attacker's script in a privileged renderer, which can lead to arbitrary code execution on the host. The affected endpoint remains behind authentication and administrator-role checks; this is an untrusted-content-to-privileged-renderer issue, not an authorization bypass.

Technical POC Analysis

CWE-79 (Improper Neutralization of Input During Web Page Generation - stored cross-site scripting).

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

A stored cross-site scripting flaw in the SiYuan Note desktop application (versions before v3.8.4) can escalate to arbitrary code execution on an employee's workstation when a specially crafted flashcard is opened in the card manager. Impact is concentrated on individual endpoints running the SiYuan desktop client with administrative privileges, where a successful attack could give an adversary the same access as the logged-in user and expose any data or credentials reachable from that machine. Leadership should treat this as a targeted, condition-gated risk affecting a limited user population rather than a broad, internet-facing exposure.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.5%
Top 57% exploitable
Prevalence
Medium
popular ~35k-star open-source self-hosted PKM/note app, individual users
Data Quality
5 sources
Confidence: Medium

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 HIGH
CISA KEV No
Public POC No
EPSS 0.5%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
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
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

44
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +43
PoC: 0
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-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-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-56397 CRITICAL POC
9.4 Jun 21

Remote code execution in SiYuan note-taking application (before v3.6.1) allows any malicious Bazaar marketplace package

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.

CVE-2026-25539 CRITICAL POC
9.1 Feb 04

SiYuan knowledge management system prior to 3.5.5 has a path traversal in /api/file/copyFile allowing arbitrary file ope

CVE-2024-2692 CRITICAL POC
9.0 Apr 04

SiYuan version 3.0.3 allows executing arbitrary commands on the server. Rated critical severity (CVSS 9.0), this vulnera

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