Skip to main content

Siyuan EUVD-2026-17687

| CVE-2026-34605 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

Primary rating from GitHub Advisory · only source for this CVE.

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. …

Unlock full vulnerability intelligence

  • Risk assessment & exploitation conditions
  • Attack chain visualization
  • Remediation with exact patch versions
  • Threat intelligence from 22 sources
  • Personal watchlist & email alerts

Free forever · No credit card required

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata

Access
Send crafted SVG with namespace-prefixed script tag
Delivery
Bypass SanitizeSVG parser filter
Exploit
SVG served as image/svg+xml without CSP
Execution
Browser XML parser resolves namespace
Impact
Execute arbitrary JavaScript in user context

Vulnerability AssessmentAI

Exploitation Remote unauthenticated attacker crafts malicious SVG with namespace-prefixed elements (e.g., <x:script xmlns:x="http://www.w3.org/2000/svg">) sent to SiYuan /api/icon/getDynamicIcon endpoint. … Additional conditions and limiting factors are described in the full assessment.
Risk Assessment The CVSS 4.0 score of 8.6 reflects high confidentiality and integrity impact (VC:H/VI:H) with network attack vector (AV:N), low complexity (AC:L), and no privileges required (PR:N), though user interaction is necessary (UI:A). … Full risk analysis with EPSS, KEV, and SSVC signal comparison available after sign-in.
Exploit Scenario An attacker identifies a publicly accessible SiYuan instance running version 3.6.0 or 3.6.1 and crafts a malicious SVG payload using namespace-prefixed script tags (e.g., '<svg><x:script xmlns:x="http://www.w3.org/2000/svg">alert(document.cookie)</x:script></svg>'). The attacker uploads this SVG as a custom icon or crafts a direct URL to the /api/icon/getDynamicIcon endpoint with the payload. …
Remediation 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. … Detailed patch versions, workarounds, and compensating controls in full report.

Recommended ActionAI

Within 24 hours: inventory all SiYuan deployments and versions in use; restrict network access to the /api/icon/getDynamicIcon endpoint via firewall or WAF rules. …

Sign in for detailed remediation steps and compensating controls.

Threat intelligence, references, and detailed analysis are available after sign-in.

Share

EUVD-2026-17687 vulnerability details – vuln.today

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