Ad

CVE-2026-32940

CRITICAL CVSS 3.1: 6.1 EPSS 0.06%
Updated Mar 23, 2026
Siyuan
Parameter Value
CVSS 6.1 (CRITICAL)
Affected Versions before 3.6.1
Fixed In 3.6.1
Type CWE-79 (Cross-Site Scripting (XSS)), CWE-184
Vendor Siyuan
Public PoC No

SiYuan is a personal knowledge management system. In versions 3.6.0 and below, SanitizeSVG has an incomplete blocklist — it blocks data:text/html and data:image/svg+xml in href attributes but misses data:text/xml and data:application/xml, both of which can render SVG with JavaScript execution. The unauthenticated /api/icon/getDynamicIcon endpoint serves user-controlled input (via the content parameter) directly into SVG markup using fmt.Sprintf with no escaping, served as Content-Type: image/svg+xml.

This creates a click-through XSS: a victim navigates to a crafted URL, sees an SVG with an injected link, and clicking it triggers JavaScript via the bypassed MIME types. The attack requires direct navigation to the endpoint or <object>/<embed> embedding, since <img> tag rendering in the frontend doesn't allow interactive links. This issue has been fixed in version 3.6.1.

Attack Parameters

Attack Vector
Network
Can be exploited remotely
Attack Complexity
Low
Easy to exploit
Privileges Required
None
No privileges needed
User Interaction
Required
User action required

Impact Assessment

Confidentiality
Low
Partial data leak
Integrity
Low
Partial data modification
Availability
None
No disruption

CVSS Vector v3.1

Vulnerable Products 1

Configuration From (including) Up to (excluding)
B3log Siyuan
cpe:2.3:a:b3log:siyuan:*:*:*:*:*:*:*:*
3.6.1