Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
CVE-2026-44670
Summary
SiYuan is an open-source personal knowledge management system. Prior to version 3.7.0-dev3, the kernel stores Attribute View (AV / database) names without any HTML escape, then a render template uses raw 'strings.ReplaceAll(tpl, "${avName}", nodeAvName)' to embed the name in HTML before pushing to all clients via WebSocket. Three independent client paths (render.ts:120 - outerHTML, Title.ts:401 - innerHTML, transaction.ts:559 - innerHTML) consume the value without escaping. Because the main BrowserWindow runs 'nodeIntegration:true', 'contextIsolation:false', 'webSecurity:false', HTML injection in the renderer becomes Node.js code execution.
CWE-79 - Cross Site Scripting
Cross-Site Scripting, commonly referred to as XSS, is the most dominant class of vulnerabilities. It allows an attacker to inject malicious code into a pregnable web application and victimize its users. The exploitation of such a weakness can cause severe issues such as account takeover, and sensitive data exfiltration. Because of the prevalence of XSS vulnerabilities and their high rate of exploitation, it has remained in the OWASP top 10 vulnerabilities for years.
References
Advisory Timeline
- Published