Skip to main content

SiYuan EUVDEUVD-2026-87733

| CVE-2026-100639 HIGH
Cross-site Scripting (XSS) (CWE-79)
2026-09-26 VulnCheck GHSA-r9x8-34vf-7m8q
8.6
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Craft Markdown with malicious Kramdown IAL data-subtype
  2. Delivery
    Deliver snippet for victim to copy
  3. Exploit
    Victim pastes plain-text into SiYuan
  4. Execution
    Lute renders unescaped gutter markup via innerHTML
  5. Persist
    Injected onfocus fires on gutter focus
  6. Impact
    Execute JS with renderer Node.js privileges (RCE)

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 victim to paste attacker-supplied plain-text Markdown containing a Kramdown inline attribute list into SiYuan, and (2) the resulting gutter control to receive focus, triggering the injected onfocus handler - both captured by UI:A in the vector. Full RCE additionally requires the Electron DESKTOP application build, whose main BrowserWindow enables Node integration and disables context isolation; on the web/browser deployment the impact is limited to XSS without Node.js code execution. Affected versions are all releases before v3.8.4. Limiting factors: the mandatory paste-and-focus user interaction and the desktop-Electron-with-Node-integration requirement significantly constrain mass or unattended exploitation.

Impact

This is a genuine high-severity issue with credible RCE potential, but its real-world risk is materially gated by required user interaction. The vendor CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H) scores 8.6 and correctly encodes UI:A (active user interaction), meaning this is NOT drive-by remote exploitation despite PR:N - the victim must paste attacker-crafted Markdown and then focus the affected gutter control. The full C:H/I:H/A:H impact is only realized in the Electron desktop build, where the main BrowserWindow enables Node integration and disables context isolation, turning DOM-level XSS into renderer-level Node.js RCE; in a plain browser/web deployment the same flaw is 'only' XSS. No EPSS score, no CISA KEV listing, and no public POC are present in the provided data, so there is no signal of active or automatable exploitation - this is a patch-and-move-on item rather than an emergency. The PR:N in the vector may read as 'unauthenticated' but exploitation realistically depends on socially engineering a user of their own note-taking app into pasting hostile content, which is closer to a targeted/opportunistic phishing-style vector than mass exploitation.

Exploit ScenarioDerived

An attacker crafts a plain-text Markdown snippet containing a Kramdown inline attribute list (IAL) with entity-encoded quotes in data-subtype, then lures a SiYuan desktop user into copying and pasting it (e.g., from a shared note, forum, or document). When the shared Lute renderer re-parses the pasted text and the gutter button markup is inserted via innerHTML, the broken-out attribute injects an autofocus/onfocus handler; once the gutter control receives focus, the handler runs and, in the Electron app with Node integration, executes arbitrary code with renderer Node.js privileges. No public exploit code is identified at time of analysis.

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

SiYuan versions before 3.8.4 contain a cross-site scripting (XSS) flaw that allows attribute injection into gutter-button markup when a victim pastes attacker-controlled plain-text Markdown containing a Kramdown inline attribute list (IAL); on the Electron desktop build with Node integration enabled and context isolation disabled, this escalates to remote code execution with renderer Node.js privileges. Exploitation is unauthenticated (PR:N) but requires user interaction-the victim must paste the crafted Markdown and then focus the affected gutter control. No public exploit code has been identified at time of analysis, and the vendor has released a patch in v3.8.4.

RemediationAI

Vendor-released patch: v3.8.4. Upgrade SiYuan to v3.8.4 or later immediately. For environments that cannot patch right away, specific compensating controls include: on the Electron desktop application, disable Node integration and enable context isolation in the main BrowserWindow configuration-this prevents the RCE escalation but may break SiYuan features that rely on Node.js in the renderer process; avoid pasting Markdown from untrusted sources into SiYuan, as the attack requires the victim to paste the crafted content-user awareness and training can reduce this risk. These mitigations are partial; the primary fix is applying the vendor patch. Refer to the advisory at https://github.com/siyuan-note/siyuan/security/advisories/GHSA-2cmm-9x9j-rvff and the VulnCheck advisory at https://www.vulncheck.com/advisories/siyuan-before-3.8.4-cross-site-scripting-via-kramdown-ial for details.

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

SiYuan is a personal knowledge management application that uses the Lute Markdown renderer. Lute parses Kramdown inline attribute lists (IALs) from text/plain input, allowing attribute injection when pasting Markdown. The vulnerability (CWE-79: Improper Neutralization of Input During Web Page Generation) resides in the gutter-button generation logic: app/src/protyle/gutter/button.ts fails to HTML-escape the data-subtype attribute before it is assigned via innerHTML in app/src/protyle/gutter/index.ts. An attacker can craft a Markdown snippet with entity-encoded quotes in the data-subtype value that, when the gutter markup is re-parsed by the browser, breaks out of the attribute context and injects additional attributes such as autofocus and onfocus. If the victim pastes the snippet and the affected gutter control receives focus, the injected onfocus handler executes. In the Electron desktop application, where the main BrowserWindow enables Node integration and disables context isolation, this JavaScript execution occurs with renderer Node.js privileges, resulting in remote code execution. The web-based deployment is limited to XSS without Node.js code execution. The CPE cpe:2.3:a:siyuan-note:siyuan:*:*:*:*:*:*:*:* confirms all versions before 3.8.4 are affected.

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:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 7.5 HIGH

Network-delivered content but exploitation needs both a victim paste and the gutter control gaining focus (AC:H, UI:R); Electron Node integration yields full C/I/A RCE within the app's authority (S:U).

3.1 AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:P/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

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
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Sep 26, 2026 - 14:02 EUVD
CVE Published
Sep 26, 2026 - 13:23 cve.org
HIGH 8.6

DescriptionCVE.org

SiYuan v3.8.3 fails to HTML-escape the data-subtype attribute when generating gutter-button markup (app/src/protyle/gutter/button.ts, assigned via innerHTML in app/src/protyle/gutter/index.ts) from content pasted as plain-text Markdown containing a Kramdown inline attribute list (IAL). Because the shared Lute renderer parses Kramdown IAL from text/plain input, an attacker-supplied Markdown snippet using entity-encoded quotes in data-subtype breaks out of the attribute value when the gutter markup is re-parsed by the browser, injecting additional attributes such as autofocus and onfocus. If a victim pastes the crafted Markdown and the affected gutter control receives focus, the injected handler executes; in the Electron desktop application, where the main BrowserWindow enables Node integration and disables context isolation, this results in JavaScript execution with renderer Node.js privileges (remote code execution). Fixed in v3.8.4.

Technical POC Analysis

CWE-79 (improper neutralization during web page generation).

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 high-severity flaw in the SiYuan note-taking application (all versions before 3.8.4) allows an attacker to achieve remote code execution on users' desktop machines by tricking them into pasting specially crafted Markdown into a note. Because SiYuan's Electron desktop build runs with Node.js integration enabled, a successful attack grants the attacker the same access to the user's workstation as the logged-in employee, putting local files, saved credentials, and connected corporate systems at risk. The vulnerability is unauthenticated but requires deliberate user interaction, so risk is concentrated in knowledge-worker populations that routinely paste content from external sources such as tickets, emails, and chat threads.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.5%
Top 62% exploitable
Prevalence
Medium
popular (~30k+ star) self-hosted/individual local-first note app, not enterprise-ubiquitous
Data Quality
6 sources
Confidence: High

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
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

43
Low Medium High Critical
KEV: 0
EPSS: 0
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