Skip to main content

SiYuan CVE-2026-54158

| EUVDEUVD-2026-39127 CRITICAL
Cross-site Scripting (XSS) (CWE-79)
2026-06-24 GitHub_M GHSA-5xfx-xj4h-5p7r
9.9
CVSS 3.1 · Vendor: GitHub_M
Share

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

PR:L because the attacker needs write access to a synced workspace; UI:R because the victim must open the attribute panel; S:C and C/I/A:H because renderer XSS breaks out to host RCE under nodeIntegration:true.

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:P/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H
SUSE
CRITICAL
qualitative

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

2
Patch available
Jun 24, 2026 - 23:03 EUVD
Analysis Generated
Jun 24, 2026 - 22:19 vuln.today

DescriptionCVE.org

SiYuan is an open-source personal knowledge management system. Prior to 3.7.0, the attribute-view (database) cell renderer genAVValueHTML interpolates cell content raw in four of its branches: text, url, phone, and mAsset. A cell value like </textarea><img src=x onerror="..."> or "><img src=x onerror="..."> breaks out of its surrounding tag and runs arbitrary JavaScript in the renderer when the victim opens the block-attribute panel. On Electron desktop the renderer runs with nodeIntegration:true, so the XSS chains to host RCE via require('child_process'). AV files live under the workspace and ride normal sync, so an attacker with write access to any synced workspace plants the payload once and it fires on every device that opens a panel containing that row.he kernel doesn't escape on the way in either, so the malicious cell persists byte-for-byte. There's no equivalent of the html.EscapeAttrVal call that protects block IAL attributes at kernel/model/blockial.go:261. This vulnerability is fixed in 3.7.0.

AnalysisAI

Stored cross-site scripting in SiYuan's attribute-view (database) cell renderer, affecting all versions prior to 3.7.0, lets a low-privileged attacker with write access to a synced workspace plant a persistent payload that runs arbitrary JavaScript when a victim opens the block-attribute panel. The genAVValueHTML function interpolates cell content raw in its text, url, phone, and mAsset branches and the Go kernel never escapes the value on input, so the malicious row survives sync byte-for-byte and fires on every device that renders it; on the Electron desktop client (nodeIntegration:true) the XSS escalates to host remote code execution via require('child_process'). CVSS is rated 9.9; there is no public exploit identified at time of analysis and the issue is not listed in CISA KEV.

Technical ContextAI

SiYuan is an open-source, self-hosted personal knowledge management system (vendor siyuan-note, CPE cpe:2.3:a:siyuan-note:siyuan) built on an Electron desktop shell plus a Go kernel. The flaw is in the database/attribute-view feature: the front-end renderer genAVValueHTML builds HTML per cell, and four value branches (text, url, phone, mAsset) concatenate stored cell content directly into markup without HTML/attribute encoding. This is a textbook CWE-79 (Improper Neutralization of Input During Web Page Generation), made worse because it is stored rather than reflected: the kernel persists the value verbatim and lacks an equivalent of the html.EscapeAttrVal sanitization used for block IAL attributes at kernel/model/blockial.go:261. Attribute-view (AV) files live inside the workspace directory and ride SiYuan's normal sync, so the unsanitized data propagates to all of a user's devices. On Electron the renderer runs with nodeIntegration:true, so injected JavaScript can call require('child_process'), collapsing a browser-context XSS into native OS command execution.

RemediationAI

Upgrade to SiYuan 3.7.0 or later, the vendor-released patch that adds escaping to the genAVValueHTML cell renderer; apply it on every device that participates in sync, since the stored payload fires per-device. See the advisory at https://github.com/siyuan-note/siyuan/security/advisories/GHSA-5xfx-xj4h-5p7r. Until all devices are updated, restrict write access to shared or synced workspaces to trusted users only, and avoid opening block-attribute (database) panels in workspaces that received content from untrusted contributors - the trade-off is loss of collaborative-editing convenience. Because AV files persist the malicious value verbatim, an already-planted payload survives an upgrade in stored data, so after upgrading inspect or rebuild attribute-view rows authored by untrusted parties rather than assuming the update alone neutralizes existing data. Where feasible, running the client in the browser/web context instead of the Electron desktop app removes the nodeIntegration:true RCE escalation path (renderer XSS still applies), at the cost of desktop integration.

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

CVE-2026-29073 HIGH POC
8.8 Mar 06

SQL injection in SiYuan prior to version 3.6.0 allows any authenticated user, including those with read-only access, to

CVE-2026-34605 HIGH POC
8.6 Mar 31

Cross-site scripting (XSS) in SiYuan personal knowledge management system versions 3.6.0-3.6.1 allows remote attackers t

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

Share

CVE-2026-54158 vulnerability details – vuln.today

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