SiYuan: Incomplete sanitization of bazaar README allows stored XSS via iframe srcdoc (incomplete fix for CVE-2026-33066)
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 an open-source personal knowledge management system. In versions 3.6.1 through 3.6.3, a prior fix for XSS in bazaar README rendering (incomplete fix for CVE-2026-33066) enabled the Lute HTML sanitizer, but the sanitizer does not block iframe tags, and its URL-prefix blocklist does not effectively filter srcdoc attributes which contain raw HTML rather than URLs. A malicious bazaar package author can include an iframe with a srcdoc attribute containing embedded scripts in their README. When other users view the package in SiYuan's marketplace UI, the payload executes in the Electron context with full application privileges, enabling arbitrary code execution on the user's machine. This issue has been fixed in version 3.6.4.
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.4 | 3.6.4 | Patch available | CNA |
| — | github.com/siyuan-note/siyuan/kernel (Go) | before 0.0.0-20260414013942-62eed37a3263 | 0.0.0-20260414013942-62eed37a3263 | Patch available | GHSA-8q5w-mmxf-48jg |
- siyuan Vendorsiyuan-note Affected before 3.6.4 Fixed in 3.6.4 Patch available CNA
- github.com/siyuan-note/siyuan/kernel (Go) Vendor— Affected before 0.0.0-20260414013942-62eed37a3263 Fixed in 0.0.0-20260414013942-62eed37a3263 Patch available GHSA-8q5w-mmxf-48jg
CPE configurations NVD · 1
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:b3log:siyuan:*:*:*:*:*:*:*:* | 3.6.1 to before 3.6.4 | Vulnerable | siyuan-note |
- cpe:2.3:a:b3log:siyuan:*:*:*:*:*:*:*:* Versions 3.6.1 to before 3.6.4 Vulnerable ·siyuan-note
Remediation
- Fix · CNA siyuan (siyuan-note) Fixed in 3.6.4
- Fix · GHSA-8q5w-mmxf-48jg github.com/siyuan-note/siyuan/kernel (Go) Fixed in 0.0.0-20260414013942-62eed37a3263 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-40922
- 2026-10-03 Alias added: GHSA-8q5w-mmxf-48jg
References
Advisory 3
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-40922 · CVE Program
- CVE-2026-40922 · NVD
- FIRST EPSS
- GHSA-8q5w-mmxf-48jg · 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