CVE-2026-32751 is a critical stored cross site scripting flaw in SiYuan, scored CVSS 9.0. A notebook name rendered without escaping in the mobile file tree can run script, and because Electron allows Node.js access that becomes code execution. Upgrade to SiYuan 3.6.1.
What's affected
The NVD record says SiYuan 3.6.0 and below are affected. The GitHub advisory lists affected versions as 3.5.9 and below. Either way, the patched version is 3.6.1, so treat anything older as in scope.
The mobile layout is also used in the Electron desktop app when the window is narrow, so the NVD record says desktop users can be exposed too.
The attacker needs an account that can rename notebooks.
How to check if you're exposed
Check your SiYuan version in the About page and compare it with 3.6.1.
Then consider who can rename notebooks on your instance. On a single user install that is only you. On a shared or published workspace, every user with that right counts.
Look at notebook names for unexpected markup such as angle brackets or script text.
What to do now
- Upgrade SiYuan to 3.6.1 or later on every device, including mobile and desktop.
- Limit notebook rename rights to people you trust.
- Check existing notebook names for odd characters and rename any that look wrong.
- Review sessions and tokens if an untrusted person ever had a rename right.
Why it matters
The class is CWE-79, cross site scripting. The advisory says the mobile file tree wrote the notebook name into the page with innerHTML and no escaping, while the desktop file tree escaped the same value. One path was safe, and the sibling was not.
The severity is high because of how Electron is set up. The advisory says nodeIntegration is on and contextIsolation is off, so injected script has full Node.js access and can run commands on the machine. A web bug in an app like this is a local code execution bug. The record's KEV flag is false.
Quick check
Why is XSS rated this high here?
Because the Electron configuration gives page script access to Node.js, which turns script injection into code execution.
Sources
Last reviewed: 19 October 2026.