Read the docs
TI-2026-29099 Aliases CVE-2026-40322

SiYuan: Mermaid `javascript:` Link Injection Leads to Stored XSS and Electron RCE

Priority HIGH 74CWE-79Published · Updated

Key facts

Attack vector
Network
Privileges required
Low
User interaction
Required
Attack complexity
Low
Impact type
Cross-site scripting, Code execution
Confidentiality · integrity · availability
High · High · High
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-79 and CWE-94.

Summary

SiYuan is an open-source personal knowledge management system. In versions 3.6.3 and below, Mermaid diagrams are rendered with securityLevel set to "loose", and the resulting SVG is injected into the DOM via innerHTML. This allows attacker-controlled javascript: URLs in Mermaid code blocks to survive into the rendered output. On desktop builds using Electron, windows are created with nodeIntegration enabled and contextIsolation disabled, escalating the stored XSS to arbitrary code execution when a victim opens a note containing a malicious Mermaid block and clicks the rendered diagram node. This issue has been fixed in version 3.6.4.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00306 23rd percentileScored 2026-11-07
Fix Fixed siyuan (siyuan-note): 3.6.4

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
No
Technical impact
Total

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
siyuan-notesiyuanbefore 3.6.43.6.4Patch availableCNA
  • siyuan Vendorsiyuan-note Affected before 3.6.4 Fixed in 3.6.4 Patch available CNA

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:b3log:siyuan:*:*:*:*:*:*:*:*before 3.6.4Vulnerablesiyuan-note
  • cpe:2.3:a:b3log:siyuan:*:*:*:*:*:*:*:* Versions before 3.6.4 Vulnerable ·siyuan-note

Remediation

  • Fix · CNA siyuan (siyuan-note) Fixed in 3.6.4

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-40322

References

  • TI-2026-26050 SiYuan has directory traversal within its publishing service CVSS 3.1CRITICAL 9.8
  • TI-2026-25256 SiYuan: Authorization Bypass Allows Arbitrary SQL Execution via Search API CVSS 3.1CRITICAL 9.8
  • TI-2024-35827 A SQL injection vulnerability was discovered in Siyuan 3.1.11 in /getHistoryItems. CVSS 3.1CRITICAL 9.8
  • TI-2024-35826 A SQL injection vulnerability has been identified in Siyuan 3.1.11 via the ids array parameter in /batchGetBlockAttrs. CVSS 3.1CRITICAL 9.8
  • TI-2024-35825 A SQL injection vulnerability has been identified in Siyuan 3.1.11 via the id parameter at /getAssetContent. CVSS 3.1CRITICAL 9.8
  • TI-2024-35824 A SQL injection vulnerability has been identified in Siyuan 3.1.11 via the notebook parameter in /searchHistory. CVSS 3.1CRITICAL 9.8
See all 54 →

Sources

This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences