Skip to main content

SiYuan EUVDEUVD-2026-39102

| CVE-2026-55570 CRITICAL
Cross-site Scripting (XSS) (CWE-79)
2026-06-24 GitHub_M
9.0
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Publish malicious marketplace package with quote in name
  2. Delivery
    Victim opens SiYuan marketplace view
  3. Exploit
    Payload breaks out of data-obj attribute
  4. Execution
    Inject HTML/script into Electron renderer
  5. Persist
    Node integration enables child_process call
  6. Impact
    Execute arbitrary OS commands 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 that the attacker can publish or get a package listed in the SiYuan marketplace whose name (or version, author, or description) contains a single-quote character plus injected HTML, AND that a victim opens the marketplace view in the SiYuan desktop (Electron) client so the malicious card is rendered (UI:R, victim interaction required). The escalation from DOM XSS to OS command execution specifically depends on the desktop client's BrowserWindow running with nodeIntegration:true and contextIsolation:false - this is the default for the affected desktop builds, so no victim misconfiguration is needed, but the web/browser-only usage without Node integration would limit impact to in-page XSS. Limiting factors: the attacker needs marketplace-publishing access (PR:L), the victim must actively browse the marketplace, and the OS-command-execution impact is specific to the desktop Electron client.

Impact

The supplied CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H, base 9.0) reflects a network-reachable, low-complexity flaw that nonetheless requires victim interaction (browsing the marketplace) and some attacker privilege (publishing a package to the marketplace). The scope change (S:C) and full CIA impact are well-justified because XSS in the Electron renderer crosses into OS command execution. EPSS and KEV data were not provided in the input; with no public exploit identified and no CISA KEV listing, this currently reads as a high-severity but not yet actively-exploited issue. The practical gating factor is the marketplace publish-and-lure requirement: an attacker must get a malicious package listed and convince a user to view it, which makes this more of a targeted/social-engineering vector than mass-automatable exploitation. Note that PR:L versus PR:N is debatable depending on how open SiYuan's marketplace submission is - verify marketplace publishing controls with the vendor.

Exploit ScenarioDerived

An attacker publishes a marketplace package whose name contains a single quote followed by an HTML/script payload. When a victim opens SiYuan's marketplace and the malicious card is rendered, the payload breaks out of the data-obj attribute and executes in the Electron renderer; because Node integration is enabled, the script calls child_process to run attacker-chosen OS commands on the victim's machine. No public exploit was identified at time of analysis, but the low attack complexity makes weaponization straightforward once a package can be listed.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
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 leading to OS command execution in SiYuan, an open-source personal knowledge management system, affects all desktop client versions prior to 3.7.0. Untrusted marketplace package metadata (name, version, author, description) is serialized via JSON.stringify() into a single-quoted data-obj HTML attribute without escaping single quotes or angle brackets, so a package name containing a single quote breaks out of the attribute and injects arbitrary HTML; because the Electron BrowserWindow runs with nodeIntegration:true and contextIsolation:false, the DOM XSS escalates to arbitrary command execution on the host. No public exploit identified at time of analysis, but the GitHub Security Advisory (GHSA-x88j-wgpr-h22x) notes this is the same root cause and impact as a prior advisory, reached through a sibling sink the earlier patch missed.

RemediationAI

Vendor-released patch: 3.7.0 - upgrade all SiYuan desktop clients to 3.7.0 or later, which adds proper escaping of the untrusted marketplace fields before they reach the data-obj attribute (see https://github.com/siyuan-note/siyuan/security/advisories/GHSA-x88j-wgpr-h22x). Until upgrading, avoid opening or browsing the package marketplace within the desktop client, since the injection triggers when a malicious card is rendered; this trades away marketplace functionality but removes the trigger. As a deeper compensating control for environments that cannot patch immediately, run the client in a sandboxed/least-privilege OS account so that any resulting command execution is contained, accepting the inconvenience of restricted local privileges. Hardening the Electron configuration (contextIsolation:true / nodeIntegration:false) is the long-term structural mitigation but is not user-configurable in a packaged release and effectively requires the vendor fix.

Affected VersionsENISA

SiYuan < 3.7.0

Affected Packages

euvd siyuan fix: 3.7.0

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 vulnerability lives in SiYuan's marketplace UI, which renders package cards by embedding package metadata into a data-obj HTML attribute. The values are produced with JavaScript's JSON.stringify(), which correctly escapes characters like double-quotes and backslashes for JSON but does NOT escape the single-quote ('), less-than (<), or greater-than (>) characters that are significant in single-quoted HTML attribute contexts. This is a classic CWE-79 (Improper Neutralization of Input During Web Page Generation) where a JSON-encoding routine is incorrectly used as an HTML-attribute-encoding routine. The CPE cpe:2.3:a:siyuan-note:siyuan identifies the affected product. SiYuan's desktop client is built on Electron; with nodeIntegration:true and contextIsolation:false the renderer process has direct access to Node.js APIs (e.g. child_process), so any script injected into the DOM can invoke OS-level commands - the reason a content-injection bug becomes remote code execution rather than browser-confined XSS.

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.0 CRITICAL
AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H
vuln.today AI 9.0 CRITICAL

Attacker must publish a marketplace package (PR:L) and victim must browse it (UI:R); renderer XSS escaping into OS command execution justifies S:C with full C:H/I:H/A:H.

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:N/PR:L/UI:A/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
Required
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, it does not escape the untrusted fields (name, version, author, description) when they are serialized into the data-obj HTML attribute of each marketplace card. Because the attribute is single-quoted and the value is produced with JSON.stringify() (which does not escape ', <, or >), a package whose name contains a single quote breaks out of the attribute and injects arbitrary HTML. In the desktop client the main BrowserWindow runs with nodeIntegration: true, contextIsolation: false, so the injected markup escalates from DOM XSS to arbitrary OS command execution. This is the same root cause and same impact as the original advisory, reached through a sibling sink the patch did not cover. This vulnerability is fixed in 3.7.0.

Executive ViewAI

Why It Matters

SiYuan personal knowledge management application versions before 3.7.0 enable remote code execution on employee desktops through malicious packages installed from the built-in marketplace, completely bypassing security controls. Any user installing packages from the marketplace can be compromised, granting attackers full access to system files, network credentials, and enterprise resources.

Business Impact: Severe
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: (1) Disable marketplace synchronization and package installation in application settings; (2) Run SiYuan exclusively within isolated virtual machine or container with restricted file system and network access; (3) Implement egress firewall rules limiting SiYuan connections to only approved cloud sync endpoints; (4) If configuration files are accessible, disable Electron nodeIntegration setting; (5) Deploy file integrity monitoring on SiYuan installation directory to detect unauthorized modifications.

Threat Intelligence Overview

EPSS Score
0.3%
Top 76% exploitable
Prevalence
Low
niche open-source personal knowledge app, mostly individual/hobbyist users
Social Media
3
Sightings
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 CRITICAL
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
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

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

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