Skip to main content

SiYuan CVE-2026-73044

CRITICAL
Cross-site Scripting (XSS) (CWE-79)
2026-08-15 disclosure@vulncheck.com
9.4
CVSS 4.0 · Vendor: vulncheck
View

Attack ChainAIDerived

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

  1. Recon
    Gain write access to shared SiYuan document
  2. Delivery
    Call setAttrViewColWidth with crafted width
  3. Exploit
    Break out of style attribute, inject event handler
  4. Install
    Victim opens/hovers poisoned table
  5. C2
    Payload runs in Electron renderer
  6. Execute
    Invoke Node APIs for RCE
  7. Impact
    Arbitrary code execution 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

Requires the attacker to submit a malicious column-width value through the setAttrViewColWidth API, which implies write access to a document's table attribute-view data - i.e. a low-privilege account or a shared/synced workspace the attacker can contribute to (matching PR:L). Exploitation is stored/persistent, so it also requires victim interaction: the target must open or interact with (e.g. hover, triggering the injected event handler on cells) the poisoned table, consistent with UI:P. Full RCE additionally requires the Electron renderer to have Node integration enabled; on builds/configurations where Node integration is disabled or context isolation is enforced, impact is limited to renderer-context XSS rather than host code execution. Not exploitable by a fully unauthenticated, no-interaction remote attacker.

Impact

This is a genuine high-priority issue rather than an inflated CVSS score. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:P/VC:H/VI:H/VA:H with subsequent-system impact SC:H/SI:H/SA:H) reflects that low-privilege access plus passive victim interaction yields full compromise of both the app and the underlying host via Node integration - a legitimately severe outcome. Tempering factors: exploitation requires some privilege (PR:L - an account or the ability to feed content into a shared/synced document) and victim interaction (UI:P - the target must render the malicious table), so this is not a zero-click internet-wide worm. There is no EPSS score, no KEV listing, and no public POC in the provided data, which suggests the current real-world exploitation likelihood is not yet demonstrated widespread - the risk is high-impact-if-triggered but exploitation is not confirmed active. Because SiYuan supports shared workspaces and document sync, the realistic threat is a malicious or compromised collaborator planting a poisoned table; any organization or even a mid-sized municipal IT team in olsztyn running shared SiYuan workspaces should treat patching to v3.7.4 as urgent despite the absence of exploitation telemetry. The main uncertainty is whether Node integration is enabled in all distributed builds/configurations - the RCE outcome depends on that, so environments with hardened Electron settings may see impact limited to the renderer sandbox.

Exploit ScenarioDerived

An attacker with the ability to edit a shared or synced SiYuan document calls the setAttrViewColWidth API with a crafted column-width string that closes the style attribute and adds an event handler such as onmouseover to every table cell. When a victim opens or hovers over that table, the injected JavaScript runs in the Electron renderer with Node integration, letting the attacker spawn OS processes and take over the host. No public POC is currently identified, but the technique is straightforward for anyone with content-injection access.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
No patch listed yet 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Aug 15, 2026

Stored cross-site scripting escalating to remote code execution affects SiYuan, an Electron-based personal knowledge-management/note-taking application, in all versions before v3.7.4. Because table column-width values passed to the setAttrViewColWidth API are neither validated nor escaped before being written into HTML style attributes, an attacker can break out of the style attribute and attach event handlers to every table cell; when the victim renders the table, the payload executes in the Electron renderer, which runs with Node integration enabled, turning a web-layer injection into arbitrary code execution on the host. No public exploit identified at time of analysis, and the issue is not listed in CISA KEV.

RemediationAI

Vendor-released patch: v3.7.4 - upgrade all SiYuan clients to v3.7.4 or later, which validates/escapes the column-width value before it reaches the style attribute. Restart clients after upgrading so cached documents are re-rendered by patched code. If immediate upgrade is not possible, reduce exposure by avoiding opening tables in documents received from untrusted or shared sources and by restricting who can write to shared/synced workspaces, since the payload is delivered through stored table attribute data (trade-off: limits collaboration workflows). Where feasible, run SiYuan with Electron hardening - contextIsolation on and Node integration off - to contain a successful injection to the renderer rather than the host, though this is a defense-in-depth mitigation that does not remove the stored XSS itself and may not be configurable in packaged builds. Refer to GHSA-rj55-w3xr-gj62 and the VulnCheck advisory (URLs above) for the authoritative fix guidance.

Affected ProductsAI

SiYuan (siyuan-note/siyuan) all versions prior to v3.7.4 are affected; the flaw is fixed in v3.7.4. This spans the desktop Electron builds where renderer Node integration enables the RCE outcome. No explicit CPE strings were provided in the intelligence. Authoritative details are in the vendor GitHub Security Advisory GHSA-rj55-w3xr-gj62 (https://github.com/siyuan-note/siyuan/security/advisories/GHSA-rj55-w3xr-gj62) and the VulnCheck advisory (https://www.vulncheck.com/advisories/siyuan-before-stored-cross-site-scripting-via-column-width).

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

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

Technical ContextAI · show details

SiYuan is a desktop note-taking app built on Electron, meaning its UI is a Chromium renderer that, in vulnerable builds, has Node.js integration enabled - so JavaScript executing in the page can reach Node APIs (child_process, fs) and the underlying OS. The root cause is CWE-79 (Improper Neutralization of Input During Web Page Generation): the setAttrViewColWidth API accepts a column-width value that is interpolated directly into a style attribute of table cells without sanitization or output encoding. An attacker supplies a width string containing a quote/attribute delimiter to escape the style context and inject an event-handler attribute (e.g. onmouseover/onload) onto each cell. This is a stored/persistent XSS: the malicious width is saved into the document's attribute-view data and re-rendered every time the table is opened. The combination of persistent DOM injection and an Electron renderer without contextIsolation/Node-integration hardening is what elevates a classic XSS into full RCE.

Know when the next one hits your stack

  • 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 9.4 CRITICAL
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H
vuln.today AI 9.0 CRITICAL

Low-privilege content injection (PR:L) needs victim rendering (UI:R); renderer-to-OS escape via Node integration crosses a trust boundary (S:C) yielding full host C/I/A impact.

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

Primary rating from Vendor (vulncheck).

CVSS VectorVendor: vulncheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
Passive
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
High
Subsequent system: Integrity
High
Subsequent system: Availability
High

DescriptionCVE.org

SiYuan versions before v3.7.4 fail to validate or escape table column width values, allowing stored cross-site scripting injection into style attributes. Attackers can inject malicious payloads through the setAttrViewColWidth API that break out of style attributes and inject event handlers on every table cell, executing arbitrary code in the Electron renderer with Node integration enabled.

Executive ViewAI

Why It Matters

SiYuan, a widely-used Electron-based knowledge management application, contains a critical stored cross-site scripting vulnerability that escalates to remote code execution on affected systems. Users running vulnerable versions (before v3.7.4) face complete compromise of their local machines through specially-crafted table column values in documents, creating significant risk for data exfiltration and unauthorized system access. Leadership must prioritize communication, interim mitigations, and readiness for vendor updates to protect organizational information assets.

Business Impact: Severe
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations include: restrict SiYuan usage to internally-created documents and disable external file import; implement monitoring to alert on suspicious subprocess execution from SiYuan processes; isolate systems processing sensitive business information or air-gap SiYuan execution to restricted network segments; configure host-based detection rules to flag unexpected code execution within the Electron renderer process; conduct user awareness training to avoid opening SiYuan documents from untrusted or external sources; maintain continuous monitoring of vendor security advisories for v3.7.4 availability announcement.

Threat Intelligence Overview

EPSS Score
0.2%
Top 84% exploitable
Prevalence
Low
niche open-source personal note-taking app, limited enterprise footprint
Social Media
2
Sightings
Data Quality
5 sources
Confidence: Medium

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.2%
Patch available No
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

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

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