CVE-2026-34585: SiYuan Desktop: Stored XSS in imported .sy.zip content leads to arbitrary command execution
A vulnerability allows crafted block attribute values to bypass server-side attribute escaping when an HTML entity is mixed with raw special characters. An attacker can embed a malicious IAL value inside a .sy document, package it as a .sy.zip, and have the victim import it through the normal Import -> SiYuan .sy.zip workflow. Once the note is opened, the malicious attribute breaks out of its original HTML context and injects an event handler, resulting in stored XSS. In the Electron desktop client, this XSS reaches remote code execution because injected JavaScript runs with access to Node/Electron APIs.
References
- github.com/advisories/GHSA-ff66-236v-p4fg
- github.com/siyuan-note/siyuan
- github.com/siyuan-note/siyuan/commit/918d1bd9f967d888f474f6764744a3d8cca4a501
- github.com/siyuan-note/siyuan/releases/tag/v3.6.2
- github.com/siyuan-note/siyuan/security/advisories/GHSA-ff66-236v-p4fg
- nvd.nist.gov/vuln/detail/CVE-2026-34585
Code Behaviors & Features
Detect and mitigate CVE-2026-34585 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →