Skip to main content

SiYuan EUVDEUVD-2026-39123

| CVE-2026-54067 CRITICAL
Cross-site Scripting (XSS) (CWE-79)
2026-06-24 GitHub_M GHSA-mvjr-vv3c-w4qv
9.9
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Recon
    Gain write access to synced workspace
  2. Delivery
    Plant CSS snippet with </style> breakout payload
  3. Exploit
    Victim device pulls synced snippet
  4. Install
    insertAdjacentHTML parses injected markup
  5. C2
    JavaScript runs in nodeIntegration renderer
  6. Execute
    require('child_process') executes host commands
  7. Impact
    Full RCE on victim device

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 the attacker to have write access to a workspace repository that the victim synchronizes, allowing them to plant or modify a CSS snippet; the malicious snippet body must contain a '</style>' break-out sequence followed by an event handler/script, which renderSnippet() then interpolates via insertAdjacentHTML. Full host RCE additionally requires the victim to be running an Electron desktop build where the renderer uses nodeIntegration:true (exposing require('child_process')); on non-Electron contexts impact is limited to in-renderer JavaScript execution. No victim user interaction is needed because the payload fires automatically when the device pulls the synced snippet, and the enabledJS=off protection does not limit it. Limiting factors: the attacker must hold write access to a synced workspace (PR:L, not anonymous internet access), and the maximum (RCE) impact depends on the Electron/nodeIntegration deployment mode.

Impact

Multiple signals point to genuine high priority rather than inflated CVSS. The vendor/NVD-style vector CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H yields 9.9: network-reachable, low complexity, only low privileges (write access to a synced workspace), no user interaction (the payload auto-executes on sync pull), and a scope change reflecting the renderer-to-host RCE escape with full confidentiality/integrity/availability loss. The UI:N and scope-change choices are well justified by the auto-firing sync delivery and the nodeIntegration RCE. Tempering factors: exploitation is not 'unauthenticated against the public internet' - it requires PR:L write access to a workspace the victim syncs, so realistic targets are shared/collaborative or compromised-sync scenarios. No EPSS score, POC, or KEV entry was provided, so there is no evidence of active or widespread exploitation; absence of these signals is not proof of safety but suggests this is currently a high-severity, not-yet-weaponized issue. The full-host RCE impact on Electron builds (versus script-only impact in a hypothetical sandboxed renderer) is the dominant risk driver.

Exploit ScenarioDerived

An attacker who gains write access to a workspace the victim syncs (for example a shared/collaborative repo or a previously compromised sync endpoint) saves a CSS snippet whose body contains '</style>' followed by a JavaScript handler that calls require('child_process').exec(...). When any paired device pulls the synced workspace, renderSnippet() interpolates the snippet via insertAdjacentHTML, the handler executes in the nodeIntegration-enabled renderer, and the attacker obtains code execution on the victim's host with no user interaction. No public POC was provided, but the low attack complexity makes reliable exploitation straightforward.

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

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

Alert me

AnalysisAIv1 – Jun 24, 2026

Stored cross-site scripting in SiYuan personal knowledge management before 3.7.0 lets an attacker with write access to a synced workspace plant a CSS snippet whose '</style>' sequence breaks out of the surrounding <style> tag when renderSnippet() interpolates it via insertAdjacentHTML, running arbitrary JavaScript in the renderer. On Electron desktop builds the renderer runs with nodeIntegration:true, so the injected handler can reach require('child_process') and escalate the XSS to full host remote code execution. The payload syncs through the workspace repository and fires automatically on every device that pulls, and it bypasses the user's enabledJS=off setting; no public exploit or CISA KEV listing is identified at time of analysis.

RemediationAI

Upgrade to SiYuan 3.7.0 or later, which fixes the snippet rendering path (Vendor-released patch: 3.7.0); see the advisory at https://github.com/siyuan-note/siyuan/security/advisories/GHSA-mvjr-vv3c-w4qv. Until you can patch, restrict who has write access to any workspace you sync from and audit existing CSS snippets for '</style>' sequences or embedded markup/handlers, deleting any unrecognized snippet, since the payload persists in the synced repository and re-fires on every pull. As compensating controls, avoid syncing with untrusted or shared workspaces, and on desktop prefer not opening untrusted workspace data; note that toggling enabledJS off does NOT mitigate this issue because the CSS rendering path executes script regardless, so do not rely on that setting as a workaround. Because the high-impact variant stems from Electron nodeIntegration:true, organizations packaging or self-building SiYuan should track the upstream fix rather than attempt to disable nodeIntegration ad hoc, which can break application functionality.

Affected VersionsENISA

SiYuan < 3.7.0

Affected Packages

go github.com/siyuan-note/siyuan/kernel fix: 0.0.0-20260628153353-2d5d72223df4
euvd siyuan fix: 3.7.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in go, euvd

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

Technical ContextAI · show details

The flaw is a classic CWE-79 (Improper Neutralization of Input During Web Page Generation) stored XSS rooted in unsafe HTML construction. SiYuan renders user-supplied CSS snippets by interpolating the snippet body directly into a <style> element using insertAdjacentHTML rather than assigning it as inert text content; because insertAdjacentHTML parses its input as live markup, a literal '</style>' inside the snippet body prematurely closes the style context and any following markup (e.g. a <script>/<img onerror=...> handler) is parsed and executed. The affected component is the SiYuan note application (cpe:2.3:a:siyuan-note:siyuan:*), an Electron/Chromium-based desktop app. The decisive aggravating factor is the Electron configuration: nodeIntegration:true exposes Node.js APIs such as child_process to renderer JavaScript, turning a browser-context XSS into native OS command execution. Snippets are persisted and distributed through the workspace sync repository, giving the payload a worm-like propagation path across all paired devices.

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 (GitHub_M) PRIMARY 9.9 CRITICAL
AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
vuln.today AI 9.9 CRITICAL

Network-deliverable via sync with only workspace write access (PR:L), auto-fires without interaction (UI:N), and the renderer XSS escapes to host RCE (S:C) with full C/I/A loss.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Changed
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

1
Patch available
Jun 24, 2026 - 23:03 EUVD

DescriptionCVE.org

SiYuan is an open-source personal knowledge management system. Prior to 3.7.0, CSS snippet body containing </style> breaks out of its surrounding <style> tag when renderSnippet() interpolates it via insertAdjacentHTML. A payload like runs arbitrary JavaScript in the renderer. On Electron desktop builds the renderer runs with nodeIntegration:true, so require('child_process') is reachable from the injected handler and the XSS chains to host RCE. Snippets sync via the workspace repository, so an attacker with write access to any synced workspace plants the payload once and it fires on every device that pulls. The bug also bypasses the user's enabledCSS / enabledJS separation. A user who turned enabledJS off was making a deliberate call not to run untrusted JavaScript; the CSS path runs it anyway. This vulnerability is fixed in 3.7.0.

Executive ViewAI

Why It Matters

A critical vulnerability in SiYuan personal knowledge management (versions before 3.7.0) allows workspace participants with write access to execute code across all synced user devices, with escalation to operating system level on Electron desktop clients. Organizations with shared SiYuan workspaces risk widespread endpoint compromise.

Business Impact: Severe
Compensating Controls

Apply vendor patch: upgrade to SiYuan version 3.7.0 or later. Interim mitigations: restrict workspace write access to fully-trusted users; disable Electron desktop use; pause workspace synchronization until patched.

Threat Intelligence Overview

EPSS Score
0.3%
Top 78% exploitable
Prevalence
Low
niche open-source personal knowledge app, limited enterprise footprint
Threat Intel
1
1 source
Exploit
POC
Public exploit code exists
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA Vendor GitHub

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.3%
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

70
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +50
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.

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

Vendor StatusVendor

SUSE

Severity: Critical
Product Status
SUSE Linux Enterprise Server 16.1 Affected
SUSE Linux Enterprise Server for SAP applications 16.1 Affected
SUSE Linux Enterprise Module for Package Hub 15 SP5 Affected
SUSE Linux Enterprise Module for Package Hub 15 SP6 Affected
openSUSE Leap 15.5 Affected

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