{"uuid": "8950166b-b1ad-4c3a-abfe-88fbd12c2c97", "vulnerability_lookup_origin": "1a89b78e-f703-45f3-bb86-59eb712668bd", "author": "9f56dd64-161d-43a6-b9c3-555944290a09", "vulnerability": "GHSA-99RQ-75J6-5J9F", "type": "seen", "source": "https://gist.github.com/alon710/d65b5dca92403a85945f3e44ec0bab5b", "content": "# GHSA-99RQ-75J6-5J9F: GHSA-99rq-75j6-5j9f: Stored and Reflected XSS in SiYuan via SVG Sanitizer Bypass\n\n&gt; **CVSS Score:** 8.7\n&gt; **Published:** 2026-09-03\n&gt; **Full Report:** https://cvereports.com/reports/GHSA-99RQ-75J6-5J9F\n\n## Summary\nA stored and reflected Cross-Site Scripting (XSS) vulnerability was identified in the SiYuan kernel before version v3.7.3. The flaw occurs due to a parser differential between the backend Go-based HTML sanitizer and the browser-side XML rendering engine. Attackers can bypass the SVG sanitizer to execute arbitrary JavaScript within the context of the application's origin, leading to complete workspace compromise, data exfiltration, and full local kernel API manipulation.\n\n## TL;DR\nAn HTML vs XML parser differential in the SiYuan SVG sanitizer allows attackers to inject and execute arbitrary JavaScript within the application's origin, bypassing default security controls.\n\n## Exploit Status: POC\n\n## Technical Details\n\n- **CWE ID**: CWE-79\n- **Attack Vector**: Network\n- **CVSS v3.1**: 8.7 (High)\n- **CVSS v4.0**: 9.3 (Critical)\n- **Exploit Status**: poc\n- **KEV Status**: Not Listed\n\n## Affected Systems\n\n- SiYuan Kernel (before v3.7.3)\n- SiYuan Desktop Application (before v3.7.3)\n- SiYuan Self-Hosted Docker Instances (before v3.7.3)\n- **SiYuan**: &lt; v3.7.3 (Fixed in: `v3.7.3`)\n\n## Mitigation\n\n- Upgrade the SiYuan application to version v3.7.3 or later to apply the XML parser sanitization rewrite.\n- Apply restrictive Content Security Policy (CSP) headers to all endpoints serving XML/SVG assets to block script execution inline.\n- Validate and sanitize uploaded zip archives and template files prior to processing them inside local workspaces.\n\n**Remediation Steps:**\n1. Verify the current running version of the SiYuan desktop or server kernel.\n2. If the version is earlier than v3.7.3, update the application to the latest stable release.\n3. For self-hosted instances behind a reverse proxy, configure the proxy to inject the header 'Content-Security-Policy: script-src \\'none\\'' on all paths under /assets/ and /api/icon/ to mitigate residual risks.\n\n## References\n\n- [GHSA-99rq-75j6-5j9f](https://github.com/siyuan-note/siyuan/security/advisories/GHSA-99rq-75j6-5j9f)\n- [SiYuan v3.7.3 Release Notes](https://github.com/siyuan-note/siyuan/releases/tag/v3.7.3)\n\n\n---\n*Generated by [CVEReports](https://cvereports.com/reports/GHSA-99RQ-75J6-5J9F) - Automated Vulnerability Intelligence*", "creation_timestamp": "2026-09-03T16:32:49.975861Z"}