Description
SiYuan through 3.8.4 renders notebook names as raw HTML in the Daily Note picker dialog without escaping, allowing stored cross-site scripting in the Electron renderer. Attackers can create notebooks with HTML payloads in names that execute JavaScript with Node.js access when the picker opens, enabling operating system command execution.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| siyuan-note | siyuan | ≤ 3.8.4 | — |
References
- GitHub Security Advisory (GHSA-8c2m-33v9-vvqm) vendor-advisory
- https://github.com/siyuan-note/siyuan product
- https://github.com/siyuan-note/siyuan/blob/v3.8.4/app/src/util/mount.ts#L72 technical-description
- https://github.com/siyuan-note/siyuan/blob/v3.8.4/kernel/model/file.go#L2446-L2454 technical-description
- VulnCheck Advisory: SiYuan through 3.8.4 Stored XSS via notebook names third-party-advisory