Skip to main content

Siyuan CVE-2026-34605

| EUVDEUVD-2026-17687 HIGH
Cross-site Scripting (XSS) (CWE-79)
2026-03-31 security-advisories@github.com GHSA-73g7-86qr-jrg3
8.6
CVSS 4.0 · GitHub Advisory
Share

Severity by source

GitHub Advisory PRIMARY
8.6 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
SUSE
HIGH
qualitative

Primary rating from GitHub Advisory.

CVSS VectorGitHub Advisory

CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
A
Scope
X

Lifecycle Timeline

4
Patch released
Apr 01, 2026 - 02:30 nvd
Patch available
EUVD ID Assigned
Mar 31, 2026 - 22:22 euvd
EUVD-2026-17687
Analysis Generated
Mar 31, 2026 - 22:22 vuln.today
CVE Published
Mar 31, 2026 - 22:16 nvd
HIGH 8.6

DescriptionGitHub Advisory

SiYuan is a personal knowledge management system. From version 3.6.0 to before version 3.6.2, the SanitizeSVG function introduced in version 3.6.0 to fix XSS in the unauthenticated /api/icon/getDynamicIcon endpoint can be bypassed by using namespace-prefixed element names such as <x:script xmlns:x="http://www.w3.org/2000/svg">. The Go HTML5 parser records the element's tag as "x:script" rather than "script", so the tag check passes it through. The SVG is served with Content-Type: image/svg+xml and no Content Security Policy; when a browser opens the response directly, its XML parser resolves the prefix to the SVG namespace and executes the embedded script. This issue has been patched in version 3.6.2.

AnalysisAI

Cross-site scripting (XSS) in SiYuan personal knowledge management system versions 3.6.0-3.6.1 allows remote attackers to execute arbitrary JavaScript via the unauthenticated /api/icon/getDynamicIcon endpoint by bypassing SVG sanitization using XML namespace-prefixed element names. The vulnerability exploits a parser inconsistency where Go's HTML5 parser treats 'x:script' as a distinct tag while browsers' XML parsers resolve the namespace prefix to execute the script. Publicly available exploit code exists (GitHub issue #17246 documents the bypass technique), though no CISA KEV listing indicates mass exploitation campaigns at time of analysis.

Technical ContextAI

This vulnerability affects SiYuan's SVG icon processing pipeline, specifically the SanitizeSVG function introduced in version 3.6.0. The root cause (CWE-79: Improper Neutralization of Input During Web Page Generation) stems from a mismatch between parser behaviors. When Go's html5 library parses an SVG containing namespace-prefixed elements like '<x:script xmlns:x="http://www.w3.org/2000/svg">', it records the tag name literally as 'x:script' rather than resolving the namespace. The sanitization blocklist checks for exact tag matches (e.g., 'script'), allowing the prefixed variant to pass through. The endpoint serves the malicious SVG with 'Content-Type: image/svg+xml' and no Content Security Policy headers. When a victim's browser requests this resource directly, its XML parser correctly resolves the 'x:' prefix to the SVG namespace URI, normalizing 'x:script' to a standard 'script' element within the SVG context, thereby executing the embedded JavaScript payload. This represents a classic sanitization bypass exploiting semantic differences between validation-time and rendering-time parsers.

RemediationAI

Vendor-released patch: version 3.6.2 fully addresses this vulnerability by implementing namespace-aware SVG sanitization that properly resolves XML namespace prefixes before tag validation. All users of SiYuan 3.6.0 or 3.6.1 should immediately upgrade to version 3.6.2 or later, available at https://github.com/siyuan-note/siyuan/releases/tag/v3.6.2. The patch modifies the SanitizeSVG function to normalize namespace-prefixed element names, preventing the parser mismatch exploitation vector. No workarounds are available that fully mitigate the risk without upgrading; network-level controls such as restricting access to the /api/icon/getDynamicIcon endpoint via firewall rules or reverse proxy filtering can reduce exposure for publicly accessible instances until patching is completed. After upgrading, administrators should review access logs for suspicious requests to the icon endpoint containing XML namespace declarations or unusual SVG content. Detailed remediation guidance is available in the security advisory at https://github.com/siyuan-note/siyuan/security/advisories/GHSA-73g7-86qr-jrg3.

More in Siyuan

View all
CVE-2024-53507 CRITICAL POC
9.8 Nov 29

A SQL injection vulnerability was discovered in Siyuan 3.1.11 in /getHistoryItems. Rated critical severity (CVSS 9.8), t

CVE-2024-53506 CRITICAL POC
9.8 Nov 29

A SQL injection vulnerability has been identified in Siyuan 3.1.11 via the ids array parameter in /batchGetBlockAttrs. R

CVE-2024-53505 CRITICAL POC
9.8 Nov 29

A SQL injection vulnerability has been identified in Siyuan 3.1.11 via the id parameter at /getAssetContent. Rated criti

CVE-2024-53504 CRITICAL POC
9.8 Nov 29

A SQL injection vulnerability has been identified in Siyuan 3.1.11 via the notebook parameter in /searchHistory. Rated c

CVE-2026-23852 CRITICAL POC
9.6 Jan 19

SiYuan personal knowledge management system prior to 3.5.4 has a stored XSS vulnerability (CVSS 9.6) that allows code ex

CVE-2026-54069 CRITICAL POC
9.2 Jun 24

Origin-validation bypass in SiYuan Note (open-source personal knowledge management) before 3.7.0 lets any installed Chro

CVE-2026-29183 CRITICAL POC
9.3 Mar 06

Reflected XSS in SiYuan knowledge management before 3.5.9.

CVE-2026-25539 CRITICAL POC
9.1 Feb 04

SiYuan knowledge management system prior to 3.5.5 has a path traversal in /api/file/copyFile allowing arbitrary file ope

CVE-2024-2692 CRITICAL POC
9.0 Apr 04

SiYuan version 3.0.3 allows executing arbitrary commands on the server. Rated critical severity (CVSS 9.0), this vulnera

CVE-2026-29073 HIGH POC
8.8 Mar 06

SQL injection in SiYuan prior to version 3.6.0 allows any authenticated user, including those with read-only access, to

CVE-2026-54066 HIGH POC
7.5 Jun 24

Arbitrary file disclosure in SiYuan personal knowledge management system before 3.7.0 lets an unauthenticated remote att

CVE-2026-23850 HIGH POC
7.8 Jan 19

Remote attackers can read arbitrary files from SiYuan servers (versions prior to 3.5.4) by exploiting server-side HTML r

Vendor StatusVendor

SUSE

Severity: Important
Product Status
SUSE Linux Enterprise Server 16.1 Affected
SUSE Linux Enterprise Server for SAP applications 16.1 Affected
SUSE Linux Enterprise Module for Package Hub 15 SP5 Affected
SUSE Linux Enterprise Module for Package Hub 15 SP6 Affected
openSUSE Leap 15.5 Affected

Share

CVE-2026-34605 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy