SiYuan has Stored XSS to RCE via Unsanitized Bazaar README Rendering
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Attack requirements
- None
- Impact type
- Cross-site scripting
- Confidentiality · integrity · availability
- None · None · None
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA and GitHub. Impact type from CWE-79.
Summary
SiYuan is a personal knowledge management system. In versions 3.6.0 and below, the backend renderREADME function uses lute.New() without calling SetSanitize(true), allowing raw HTML embedded in Markdown to pass through unmodified. The frontend then assigns the rendered HTML to innerHTML without any additional sanitization. A malicious package author can embed arbitrary JavaScript in their README that executes when a user clicks to view the package details. Because SiYuan's Electron configuration enables nodeIntegration: true with contextIsolation: false, this XSS escalates directly to full Remote Code Execution. The issue was patched in version 3.6.1.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| siyuan-note | siyuan | before 3.6.1 | 3.6.1 | Patch available | CNA |
| — | github.com/siyuan-note/siyuan/kernel (Go) | before 0.0.0-20260314111550-b382f50e1880 | 0.0.0-20260314111550-b382f50e1880 | Patch available | GHSA-4663-4mpg-879v |
- siyuan Vendorsiyuan-note Affected before 3.6.1 Fixed in 3.6.1 Patch available CNA
- github.com/siyuan-note/siyuan/kernel (Go) Vendor— Affected before 0.0.0-20260314111550-b382f50e1880 Fixed in 0.0.0-20260314111550-b382f50e1880 Patch available GHSA-4663-4mpg-879v
CPE configurations NVD · 1
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:b3log:siyuan:*:*:*:*:*:*:*:* | before 3.6.1 | Vulnerable | siyuan-note |
- cpe:2.3:a:b3log:siyuan:*:*:*:*:*:*:*:* Versions before 3.6.1 Vulnerable ·siyuan-note
Remediation
- Fix · CNA siyuan (siyuan-note) Fixed in 3.6.1
- Fix · GHSA-4663-4mpg-879v github.com/siyuan-note/siyuan/kernel (Go) Fixed in 0.0.0-20260314111550-b382f50e1880 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-33066
- 2026-10-03 Alias added: GHSA-4663-4mpg-879v
- 2026-10-25 EPSS moved to the below the 50th percentile
References
More siyuan-note Siyuan vulnerabilities
- 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
Sources
- CVE-2026-33066 · CVE Program
- CVE-2026-33066 · NVD
- FIRST EPSS
- GHSA-4663-4mpg-879v · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences