CVE-2026-31809: siyuan · Cross-site Scripting
Affects siyuanSource CVE Database V5
Mentioned vulnerabilities
Not known to be exploited · public detection template (Nuclei) · CVSS 6.4 Medium : upgrade to 3.5.10 when convenient.
Data as of 30 Oct 2026, 11:52 UTC
- EPSS
- 0.5% chance of exploitation in 30 days – higher than 43% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
- Patch
- Available – fixed in 3.5.10
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:H/SI:H/SA:NExploitation evidence
Disclosed: evidence found.
CVE published 10 Mar 2026
Detectable: evidence found.
Weaponized: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 30 Oct 2026.
What to do
Upgrade siyuan and siyuan-note/siyuan to 3.5.10.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| siyuan-notesiyuan | Affected
| Fixed in
|
GitHubsiyuan-note/siyuanpkg:github/siyuan-note/siyuanOther threats | Affected
| Fixed in
|
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
AI-suggested
To mitigate this vulnerability, organizations should immediately upgrade SiYuan to version 3.5.10 or later, where the issue is fixed. If upgrading is not immediately possible, implement strict input validation and output encoding on the /api/icon/getDynamicIcon endpoint to prevent injection of malicious scripts. Employ Content Security Policy (CSP) headers to restrict the execution of inline scripts and limit the sources of executable code. Monitor web traffic for suspicious requests targeting the vulnerable endpoint. Educate users to avoid clicking untrusted links, especially those that could exploit reflected XSS. Additionally, review and harden SVG sanitization logic to correctly handle whitespace characters within URI schemes. Regularly audit and test web applications for XSS vulnerabilities using automated scanners and manual penetration testing. Finally, maintain an incident response plan to quickly address any exploitation attempts.
Description
SiYuan is a personal knowledge management system. Prior to 3.5.10, SiYuan's SVG sanitizer (SanitizeSVG) checks href attributes for the javascript: prefix using strings.HasPrefix(). However, inserting ASCII tab (	), newline ( ), or carriage return ( ) characters inside the javascript: string bypasses this prefix check. Browsers strip these characters per the WHATWG URL specification before parsing the URL scheme, so the JavaScript still executes. This allows an attacker to inject executable JavaScript into the unauthenticated /api/icon/getDynamicIcon endpoint, creating a reflected XSS. This is a second bypass of the fix for CVE-2026-29183 (fixed in v3.5.9). This vulnerability is fixed in 3.5.10.